From 9480af8c32389c0916cf83d3d2f12d62b0f0efc2 Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" Date: Sun, 24 Mar 2019 14:12:58 +0000 Subject: [PATCH] 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 85c902a5e4..f09c0fbb58 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -3053,6 +3053,11 @@ bookmark-make-record-function (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. \\ @@ -3468,11 +3473,6 @@ gnus-summary-set-article-display-arrow (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 @@ gnus-summary-select-article (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 @@ gnus-summary-move-article (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 @@ gnus-summary-move-article (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 @@ gnus-summary-move-article (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 -- 2.20.1