Gnus development mailing list
 help / color / mirror / Atom feed
From: Jan Vroonhof <vroonhof@math.ethz.ch>
Cc: ding@ifi.uio.no
Subject: score-mode.el (new patch version)
Date: 05 Aug 1996 21:09:52 +0200	[thread overview]
Message-ID: <byohkpr6kf.fsf@riesz.math.ethz.ch> (raw)
In-Reply-To: Lars Magne Ingebrigtsen's message of Mon, 5 Aug 1996 02:26:50 +0200


Sorry Lars, I forgot to update some things. Here is a new patch
(against 0.06). Please check, because I don't really understand the
updating of the alist through "side-effects" using setcdr etc.
Now hopefully there are no infinite loops left.

No differences encountered
*** gnus-score.el.orig	Mon Aug  5 01:08:19 1996
--- gnus-score.el	Mon Aug  5 20:59:59 1996
***************
*** 1668,1674 ****
  	 id 's score (current-time-string) nil t)))))
  
  (defun gnus-score-string (score-list header now expire &optional trace)
!   ;; Score ARTICLES according to HEADER in SCORE-LIST.
    ;; Update matching entries to NOW and remove unmatched entries older
    ;; than EXPIRE.
    
--- 1668,1674 ----
  	 id 's score (current-time-string) nil t)))))
  
  (defun gnus-score-string (score-list header now expire &optional trace)
!   ;; Score ARTICLES auccording to HEADER in SCORE-LIST.
    ;; Update matching entries to NOW and remove unmatched entries older
    ;; than EXPIRE.
    
***************
*** 1730,1739 ****
  	  (cond
  	   ;; Fuzzy matches.  We save these for later.
  	   ((= dmt ?f)
! 	    (push entries fuzzies))
  	   ;; Word matches.  Save these for even later.
  	   ((= dmt ?w)
! 	    (push entries words))
  	   ;; Exact matches.
  	   ((= dmt ?e)
  	    ;; Do exact matching.
--- 1730,1739 ----
  	  (cond
  	   ;; Fuzzy matches.  We save these for later.
  	   ((= dmt ?f)
! 	    (push kill fuzzies))
  	   ;; Word matches.  Save these for even later.
  	   ((= dmt ?w)
! 	    (push kill words))
  	   ;; Exact matches.
  	   ((= dmt ?e)
  	    ;; Do exact matching.
***************
*** 1804,1810 ****
      (when fuzzies
        ;; Simplify the entire buffer for easy matching.
        (gnus-simplify-buffer-fuzzy)
!       (while (setq kill (cadr fuzzies))
  	(let* ((match (nth 0 kill))
  	       (type (nth 3 kill))
  	       (score (or (nth 1 kill) gnus-score-interactive-default-score))
--- 1804,1810 ----
      (when fuzzies
        ;; Simplify the entire buffer for easy matching.
        (gnus-simplify-buffer-fuzzy)
!       (while (setq kill (car fuzzies))
  	(let* ((match (nth 0 kill))
  	       (type (nth 3 kill))
  	       (score (or (nth 1 kill) gnus-score-interactive-default-score))
***************
*** 1830,1836 ****
  	    (forward-line 1))
  	  ;; Update expiry date
  	  (if trace
! 	      (setq entries (cdr entries))
  	    (cond
  	     ;; Permanent.
  	     ((null date)
--- 1830,1836 ----
  	    (forward-line 1))
  	  ;; Update expiry date
  	  (if trace
! 	      (setq fuzzies (cdr fuzzies))
  	    (cond
  	     ;; Permanent.
  	     ((null date)
***************
*** 1843,1848 ****
--- 1843,1849 ----
  	     ;; Old entry, remove.
  	     ((and expire (< date expire)) 
  	      (gnus-score-set 'touched '(t) alist)
+ 	      (setcar fuzzies (cadr fuzzies))
  	      (setcdr fuzzies (cddr fuzzies)))
  	     (t
  	      (setq fuzzies (cdr fuzzies))))))))
***************
*** 1852,1858 ****
        (let ((hashtb (gnus-make-hashtable
  		     (* 10 (count-lines (point-min) (point-max))))))
  	(gnus-enter-score-words-into-hashtb hashtb)
! 	(while (setq kill (cadr words))
  	  (let* ((score (or (nth 1 kill) gnus-score-interactive-default-score))
  		 (date (nth 2 kill))
  		 found)
--- 1853,1859 ----
        (let ((hashtb (gnus-make-hashtable
  		     (* 10 (count-lines (point-min) (point-max))))))
  	(gnus-enter-score-words-into-hashtb hashtb)
! 	(while (setq kill (car words))
  	  (let* ((score (or (nth 1 kill) gnus-score-interactive-default-score))
  		 (date (nth 2 kill))
  		 found)
***************
*** 1868,1875 ****
  		(while (setq art (pop arts))
  		  (setcdr art (+ score (cdr art))))))
  	    ;; Update expiry date
! 	    (if trace
! 		(setq entries (cdr entries))
  	      (cond
  	       ;; Permanent.
  	       ((null date)
--- 1869,1876 ----
  		(while (setq art (pop arts))
  		  (setcdr art (+ score (cdr art))))))
  	    ;; Update expiry date
! 	    (if trace 
! 		(setq words (cdr words))
  	      (cond
  	       ;; Permanent.
  	       ((null date)
***************
*** 1882,1887 ****
--- 1883,1889 ----
  	       ;; Old entry, remove.
  	       ((and expire (< date expire)) 
  		(gnus-score-set 'touched '(t) alist)
+ 		(setcar words (cadr words))
  		(setcdr words (cddr words)))
  	       (t
  		(setq words (cdr words)))))))))



      parent reply	other threads:[~1996-08-05 19:09 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-08-05  0:26 Red Gnus v0.6 is released Lars Magne Ingebrigtsen
1996-08-05 15:29 ` rgnus 0.6, spastic mouse-highlight C. R. Oldham
1996-08-05 17:36   ` Lars Magne Ingebrigtsen
1996-08-05 18:18 ` Red Gnus v0.6 is released Jan Vroonhof
1996-08-05 19:09 ` Jan Vroonhof [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=byohkpr6kf.fsf@riesz.math.ethz.ch \
    --to=vroonhof@math.ethz.ch \
    --cc=ding@ifi.uio.no \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).