]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix Gnus duplicate suppression guards (bug#34987)
authorBasil L. Contovounesios <contovob@tcd.ie>
Mon, 25 Mar 2019 02:15:10 +0000 (02:15 +0000)
committerBasil L. Contovounesios <contovob@tcd.ie>
Tue, 9 Apr 2019 20:29:38 +0000 (21:29 +0100)
* lisp/gnus/gnus-dup.el (gnus-dup-enter-articles)
(gnus-dup-suppress-articles): Use gnus-dup-hashtb as an indicator of
initialization instead of gnus-dup-list, which may happen to be nil.
(gnus-dup-unsuppress-article): Do nothing if gnus-dup-hashtb is
uninitialized.

lisp/gnus/gnus-dup.el

index 49022124e977a783024c465102ec405d7e56b019..4981614a17f85e5346095704ab401f925e993189 100644 (file)
@@ -107,7 +107,7 @@ seen in the same session."
 
 (defun gnus-dup-enter-articles ()
   "Enter articles from the current group for future duplicate suppression."
-  (unless gnus-dup-list
+  (unless gnus-dup-hashtb
     (gnus-dup-open))
   (setq gnus-dup-list-dirty t)         ; mark list for saving
   (let (msgid)
@@ -133,7 +133,7 @@ seen in the same session."
 
 (defun gnus-dup-suppress-articles ()
   "Mark duplicate articles as read."
-  (unless gnus-dup-list
+  (unless gnus-dup-hashtb
     (gnus-dup-open))
   (gnus-message 8 "Suppressing duplicates...")
   (let ((auto (and gnus-newsgroup-auto-expire
@@ -152,9 +152,10 @@ seen in the same session."
 
 (defun gnus-dup-unsuppress-article (article)
   "Stop suppression of ARTICLE."
-  (let* ((header (gnus-data-header (gnus-data-find article)))
-        (id     (when header (mail-header-id header))))
-    (when id
+  (let (header id)
+    (when (and gnus-dup-hashtb
+               (setq header (gnus-data-header (gnus-data-find article)))
+               (setq id (mail-header-id header)))
       (setq gnus-dup-list-dirty t)
       (setq gnus-dup-list (delete id gnus-dup-list))
       (remhash id gnus-dup-hashtb))))