From: yamaoka Date: Tue, 13 Apr 1999 05:28:54 +0000 (+0000) Subject: * (gnus-summary-move-article): Fix, `gnus-article-mark-lists' will be broken X-Git-Tag: semi-gnus-6_10_12~11 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=6ce03ee46a77c10f86c7aa6fe3ae55af3929d576;p=elisp%2Fgnus.git- * (gnus-summary-move-article): Fix, `gnus-article-mark-lists' will be broken by side effect. ;; By courtesy of Keiichi-san. --- diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 66ae5a6..6633132 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -6898,6 +6898,9 @@ and `request-accept' functions." (crosspost "Crosspost" "Crossposting"))) (copy-buf (save-excursion (nnheader-set-temp-buffer " *copy article*"))) + (default-marks gnus-article-mark-lists) + (no-expire-marks (delete '(expirable . expire) + (copy-sequence gnus-article-mark-lists))) art-group to-method new-xref article to-groups) (unless (assq action names) (error "Unknown action %s" action)) @@ -7003,11 +7006,10 @@ and `request-accept' functions." (list (cdr art-group))))) ;; Copy any marks over to the new group. - (let ((marks gnus-article-mark-lists) + (let ((marks (if (gnus-group-auto-expirable-p to-group) + default-marks + no-expire-marks)) (to-article (cdr art-group))) - (unless (gnus-group-auto-expirable-p to-group) - (setq marks (delete '(expirable . expire) - (copy-sequence marks)))) ;; See whether the article is to be put in the cache. (when gnus-use-cache @@ -7062,7 +7064,7 @@ and `request-accept' functions." ;;;!!!Why is this necessary? (set-buffer gnus-summary-buffer) - + (gnus-summary-goto-subject article) (when (eq action 'move) (gnus-summary-mark-article article gnus-canceled-mark))))