* Re: nnir.el swish++ interface broken
[not found] ` <87lk3fvw4l.fsf@ID-24456.user.uni-berlin.de>
@ 2008-04-15 21:21 ` Reiner Steib
[not found] ` <873apmapq9.fsf_-_@ID-24456.user.uni-berlin.de>
1 sibling, 0 replies; 5+ messages in thread
From: Reiner Steib @ 2008-04-15 21:21 UTC (permalink / raw)
To: Christoph Conrad; +Cc: Justus Piater, ding, bugs
On Tue, Apr 15 2008, Christoph Conrad wrote:
>> The nnir.el interface is broken [...]
>
> with nnml, i forgot.
On Tue, Apr 15 2008, Christoph Conrad wrote:
> The fix in nnir.el for the problem with nnml backend is easy:
>
> ;; don't match directories or inexistent/unreadable files
> (when (and (string-match article-pattern artno)
> - (file-readable-p filenam))
> + (file-readable-p (concat prefix filenam)))
> I hope nnmaildir is not broken now, i can't test it. So a copy goes to
> Reiner and Justus. If Justus says it is ok for nnmaildir, please install
> the fix in cvs, Reiner.
I already installed it. Justus and others, please check if it works
for nnmaildir.
Bye, Reiner.
--
,,,
(o o)
---ooO-(_)-Ooo--- | PGP key available | http://rsteib.home.pages.de/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: nnir.el swish++ interface broken
2008-04-17 7:20 ` nnir.el swish++ interface broken Justus-bulk
2008-04-17 7:37 ` Christoph Conrad
@ 2008-04-19 17:36 ` Reiner Steib
1 sibling, 0 replies; 5+ messages in thread
From: Reiner Steib @ 2008-04-19 17:36 UTC (permalink / raw)
To: ding
On Thu, Apr 17 2008, Justus-bulk@Piater.name wrote:
> Reiner Steib <reinersteib+gmane@imap.cc> wrote:
>> This isn't based on the current CVS version. Could you please provide
>> a diff against current CVS?
>
> Attached.
Thanks, installed. Next time, please also provide a ChangeLog entry.
BTW...
(setq dirnam
(substring dirnam 0 (if (string= server "nnmaildir:") -5 -1)))
;; eliminate all ".", "/", "\" from beginning. Always matches.
(string-match "^[./\\]*\\(.*\\)$" dirnam)
(setq group (substitute ?. ?/ (match-string 1 dirnam))) ;; "/" -> "."
(setq group (substitute ?. ?\\ group)) ;; "\\" -> "."
I'm not sure what values of dirnam and group need to be considered.
Maybe using `gnus-replace-in-string' could simplify this code?
Additionally, `substitute' is a function from the `cl' package. While
it is okay to use cl macros at compile time[1], using cl at runtime.
> I also updated the complete file on my Web server.
I'd suggest not to distribute Gnus files on your Web server.
Bye, Reiner.
[1] (eval-when-compile (require 'cl))
--
,,,
(o o)
---ooO-(_)-Ooo--- | PGP key available | http://rsteib.home.pages.de/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: nnir.el swish++ interface broken
2008-04-17 7:37 ` Christoph Conrad
@ 2008-04-17 18:01 ` Christoph Conrad
0 siblings, 0 replies; 5+ messages in thread
From: Christoph Conrad @ 2008-04-17 18:01 UTC (permalink / raw)
To: Justus-bulk; +Cc: ding
> This evening another test on Ubuntu 7.10 with a newer swish++, will
> report.
Works also with Ubuntu 7.10, swish++ 6.1.4.
With kind regards,
Christoph
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: nnir.el swish++ interface broken
2008-04-17 7:20 ` nnir.el swish++ interface broken Justus-bulk
@ 2008-04-17 7:37 ` Christoph Conrad
2008-04-17 18:01 ` Christoph Conrad
2008-04-19 17:36 ` Reiner Steib
1 sibling, 1 reply; 5+ messages in thread
From: Christoph Conrad @ 2008-04-17 7:37 UTC (permalink / raw)
To: Justus-bulk; +Cc: ding
Hi Justus,
> Attached. I also updated the complete file on my Web server.
Again: tested on Windows XP, swish++ 5.0, and works. This evening
another test on Ubuntu 7.10 with a newer swish++, will report.
With kind regards,
Christoph
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: nnir.el swish++ interface broken
2008-04-16 18:22 ` nnir.el swish++ interface broken (was: FIX) Reiner Steib
@ 2008-04-17 7:20 ` Justus-bulk
2008-04-17 7:37 ` Christoph Conrad
2008-04-19 17:36 ` Reiner Steib
0 siblings, 2 replies; 5+ messages in thread
From: Justus-bulk @ 2008-04-17 7:20 UTC (permalink / raw)
To: Christoph Conrad; +Cc: ding
[-- Attachment #1: Type: text/plain, Size: 434 bytes --]
Reiner Steib <reinersteib+gmane@imap.cc> wrote on Wed, 16 Apr 2008
20:22:21 +0200:
> On Wed, Apr 16 2008, Christoph Conrad wrote:
>
>>> The result is at http://www.montefiore.ulg.ac.be/~piater/test/nnir.el
>>> and works for me. Christoph, can you test it?
>
> This isn't based on the current CVS version. Could you please provide
> a diff against current CVS?
Attached. I also updated the complete file on my Web server.
Justus
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: nnir.el.diff --]
[-- Type: text/x-diff, Size: 4401 bytes --]
Index: nnir.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/contrib/nnir.el,v
retrieving revision 7.26
diff -c -r7.26 nnir.el
*** nnir.el 15 Apr 2008 21:16:28 -0000 7.26
--- nnir.el 17 Apr 2008 07:19:38 -0000
***************
*** 859,864 ****
--- 859,872 ----
(nnoo-define-skeleton nnir)
+ (defmacro nnir-add-result (dirnam artno score prefix server artlist)
+ "Ask `nnir-compose-result' to construct a result vector,
+ and if it is non-nil, add it to artlist."
+ `(let ((result (nnir-compose-result dirnam artno score prefix server)))
+ (when (not (null result))
+ (push result artlist))))
+
+
;; Helper function currently used by the Swish++ and Namazu backends;
;; perhaps useful for other backends as well
(defun nnir-compose-result (dirnam article score prefix server)
***************
*** 869,889 ****
(when (string-match (concat "^" prefix) dirnam)
(setq dirnam (replace-match "" t t dirnam)))
! ;; remove trailing slash and, for nnmaildir, cur/new/tmp
! (setq dirnam (substring dirnam 0 (if (string= server "nnmaildir:") -5 -1)))
!
! ;; eliminate all ".", "/", "\" from beginning. Always matches.
! (string-match "^[./\\]*\\(.*\\)$" dirnam)
! (setq group (substitute ?. ?/ (match-string 1 dirnam))) ;; "/" -> "."
! (setq group (substitute ?. ?\\ group)) ;; "\\" -> "."
!
! (vector (nnir-group-full-name group server)
! (if (string= server "nnmaildir:")
! (nnmaildir-base-name-to-article-number
! (substring article 0 (string-match ":" article))
! group nil)
! (string-to-int article))
! (string-to-int score)))
;;; Search Engine Interfaces:
--- 877,900 ----
(when (string-match (concat "^" prefix) dirnam)
(setq dirnam (replace-match "" t t dirnam)))
! (if (not (file-readable-p (concat prefix dirnam article)))
! nil
! ;; remove trailing slash and, for nnmaildir, cur/new/tmp
! (setq dirnam
! (substring dirnam 0 (if (string= server "nnmaildir:") -5 -1)))
!
! ;; eliminate all ".", "/", "\" from beginning. Always matches.
! (string-match "^[./\\]*\\(.*\\)$" dirnam)
! (setq group (substitute ?. ?/ (match-string 1 dirnam))) ;; "/" -> "."
! (setq group (substitute ?. ?\\ group)) ;; "\\" -> "."
!
! (vector (nnir-group-full-name group server)
! (if (string= server "nnmaildir:")
! (nnmaildir-base-name-to-article-number
! (substring article 0 (string-match ":" article))
! group nil)
! (string-to-int article))
! (string-to-int score))))
;;; Search Engine Interfaces:
***************
*** 1223,1238 ****
artno (file-name-nondirectory filenam)
dirnam (file-name-directory filenam))
! ;; don't match directories or inexistent/unreadable files
! (when (and (string-match article-pattern artno)
! (file-readable-p (concat prefix filenam)))
(when (not (null dirnam))
;; maybe limit results to matching groups.
(when (or (not groupspec)
(string-match groupspec dirnam))
! (push (nnir-compose-result dirnam artno score prefix server)
! artlist)))))
(message "Massaging swish++ output...done")
--- 1234,1247 ----
artno (file-name-nondirectory filenam)
dirnam (file-name-directory filenam))
! ;; don't match directories
! (when (string-match article-pattern artno)
(when (not (null dirnam))
;; maybe limit results to matching groups.
(when (or (not groupspec)
(string-match groupspec dirnam))
! (nnir-add-result dirnam artno score prefix server artlist)))))
(message "Massaging swish++ output...done")
***************
*** 1480,1487 ****
;; make sure article and group is sane
(when (and (string-match article-pattern article)
(not (null group)))
! (push (nnir-compose-result group article score prefix server)
! artlist)))
;; sort artlist by score
(apply 'vector
--- 1489,1495 ----
;; make sure article and group is sane
(when (and (string-match article-pattern article)
(not (null group)))
! (nnir-add-result group article score prefix server artlist)))
;; sort artlist by score
(apply 'vector
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-04-19 17:36 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <87y77fiszu.fsf@ID-24456.user.uni-berlin.de>
[not found] ` <87lk3fvw4l.fsf@ID-24456.user.uni-berlin.de>
2008-04-15 21:21 ` nnir.el swish++ interface broken Reiner Steib
[not found] ` <873apmapq9.fsf_-_@ID-24456.user.uni-berlin.de>
[not found] ` <x8tfxtm2mqc.fsf@tool.montefiore.ulg.ac.be>
2008-04-16 10:50 ` FIX Christoph Conrad
2008-04-16 18:22 ` nnir.el swish++ interface broken (was: FIX) Reiner Steib
2008-04-17 7:20 ` nnir.el swish++ interface broken Justus-bulk
2008-04-17 7:37 ` Christoph Conrad
2008-04-17 18:01 ` Christoph Conrad
2008-04-19 17:36 ` Reiner Steib
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).