emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 03e916b: Fix Gnus duplicate article unsuppression


From: Eric Abrahamsen
Subject: [Emacs-diffs] master 03e916b: Fix Gnus duplicate article unsuppression
Date: Sun, 24 Mar 2019 13:11:43 -0400 (EDT)

branch: master
commit 03e916beb0186f3707cd238650298870bf471575
Author: Basil L. Contovounesios <address@hidden>
Commit: Eric Abrahamsen <address@hidden>

    Fix Gnus duplicate article unsuppression
    
    * lisp/gnus/gnus-sum.el (gnus-summary-mode-group): Declare before
    first use to silence byte-compiler.
    (gnus-summary-select-article): Simplify boolean expression.
    (gnus-summary-move-article): Do not try to unsuppress article when
    duplicate suppression is disabled. (bug#34973, bug#34974)
---
 lisp/gnus/gnus-sum.el | 25 ++++++++++++-------------
 1 file changed, 12 insertions(+), 13 deletions(-)

diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 85c902a..f09c0fb 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -3053,6 +3053,11 @@ When FORCE, rebuild the tool bar."
 
 (defvar bidi-paragraph-direction)
 
+(defvar gnus-summary-mode-group nil
+  "Variable for communication with `gnus-summary-mode'.
+Allows the `gnus-newsgroup-name' local variable to be set before
+the summary mode hooks are run.")
+
 (define-derived-mode gnus-summary-mode gnus-mode "Summary"
   "Major mode for reading articles.
 \\<gnus-summary-mode-map>
@@ -3468,11 +3473,6 @@ display only a single character."
                                               (point)
                                               (current-buffer))))))
 
-(defvar gnus-summary-mode-group nil
-  "Variable for communication with `gnus-summary-mode'.
-Allows the `gnus-newsgroup-name' local variable to be set before
-the summary mode hooks are run.")
-
 (defun gnus-summary-setup-buffer (group)
   "Initialize summary buffer for GROUP.
 This function does all setup work that relies on the specific
@@ -7744,7 +7744,7 @@ be displayed."
   (unless (derived-mode-p 'gnus-summary-mode)
     (set-buffer gnus-summary-buffer))
   (let ((article (or article (gnus-summary-article-number)))
-       (all-headers (not (not all-headers))) ;Must be t or nil.
+        (all-headers (and all-headers t)) ; Must be t or nil.
        gnus-summary-display-article-function)
     (and (not pseudo)
         (gnus-summary-article-pseudo-p article)
@@ -9978,13 +9978,12 @@ ACTION can be either `move' (the default), `crosspost' 
or `copy'."
                 (crosspost "Crosspost" "Crossposting")))
        (copy-buf (save-excursion
                    (nnheader-set-temp-buffer " *copy article*")))
-       art-group to-method new-xref article to-groups
+        art-group to-method new-xref to-groups
        articles-to-update-marks encoded)
     (unless (assq action names)
       (error "Unknown action %s" action))
     ;; Read the newsgroup name.
-    (when (and (not to-newsgroup)
-              (not select-method))
+    (unless (or to-newsgroup select-method)
       (if (and gnus-move-split-methods
               (not
                (and (memq gnus-current-article articles)
@@ -10029,8 +10028,7 @@ ACTION can be either `move' (the default), `crosspost' 
or `copy'."
                  (or (car select-method)
                      (gnus-group-decoded-name to-newsgroup))
                  articles)
-    (while articles
-      (setq article (pop articles))
+    (dolist (article articles)
       ;; Set any marks that may have changed in the summary buffer.
       (when gnus-preserve-marks
        (gnus-summary-push-marks-to-backend article))
@@ -10039,8 +10037,9 @@ ACTION can be either `move' (the default), `crosspost' 
or `copy'."
        (cond
        ;; Move the article.
        ((eq action 'move)
-        ;; Remove this article from future suppression.
-        (gnus-dup-unsuppress-article article)
+         (when gnus-suppress-duplicates
+           ;; Remove this article from future suppression.
+           (gnus-dup-unsuppress-article article))
         (let* ((from-method (gnus-find-method-for-group
                              gnus-newsgroup-name))
                (to-method (or select-method



reply via email to

[Prev in Thread] Current Thread [Next in Thread]