From: yamaoka Date: Thu, 22 Jan 2004 14:13:18 +0000 (+0000) Subject: Synch to No Gnus 200401221228. X-Git-Tag: t-gnus-6_17_4-quimby-~1114 X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=146f4e4d618db7f16400436091c19d59e16d03da;p=elisp%2Fgnus.git- Synch to No Gnus 200401221228. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2b35e2a..fa0134c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2004-01-22 Kevin Greiner + + * gnus-sum.el (gnus-adjust-marks): Avoid splicing null INTO the + uncompressed list. + 2004-01-22 Jesper Harder * spam-stat.el (spam-stat-strip-xref): New function. diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 576e55a..ba3896f 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -5360,7 +5360,7 @@ If SELECT-ARTICLES, only select those articles from GROUP." (min (car active)) (max (cdr active)) (types gnus-article-mark-lists) - marks var articles article mark mark-type + marks var articles article mark mark-type p-articles bgn end) (dolist (marks marked-lists) @@ -5374,7 +5374,8 @@ If SELECT-ARTICLES, only select those articles from GROUP." ;; Adjust "simple" lists - compressed yet unsorted ((eq mark-type 'list) ;; Simultaneously uncompress and clip to active range - (setq articles (cdr marks)) + (setq p-articles marks + articles (cdr p-articles)) (while (setq article (car articles)) (when (cond ((consp article) (setq bgn (max (car article) min) @@ -5386,19 +5387,22 @@ If SELECT-ARTICLES, only select those articles from GROUP." (while (<= bgn end) (setq articles (setcdr articles (cons bgn (cdr articles))) bgn (1+ bgn))) - (setq articles (cdr articles)) + (setq p-articles articles + articles (cdr articles)) nil)) ((or (< article min) (> article max)) t ; value excluded - splice out of marks ) (t - (setq articles (cdr articles)) + (setq p-articles articles + articles (cdr articles)) nil)) - ; perform slice to remove article - (setcar articles (cadr articles)) - (setcdr articles (cddr articles)))) - (set var (cdr marks))) + ;; perform slice to remove article + (if (setcar articles (cadr articles)) + (setcdr articles (cddr articles)) + (setcdr p-articles nil)))) + (set var (cdr marks))) ;; Adjust assocs. ((eq mark-type 'tuple) (set var (setq articles (cdr marks)))