Gnus development mailing list
 help / color / mirror / Atom feed
* 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).