]> git.eshelyaron.com Git - emacs.git/commitdiff
Allow not selecting messages in Gnus before resending
authorLars Ingebrigtsen <larsi@gnus.org>
Sun, 20 Sep 2020 22:22:22 +0000 (00:22 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Sun, 20 Sep 2020 22:22:22 +0000 (00:22 +0200)
* lisp/gnus/gnus-msg.el (gnus-summary-resend-message): Allow not
selecting messages.  This is faster when resending huge spam messages.

lisp/gnus/gnus-msg.el

index 7bc7fb5be41fed24a27bcf5d225089202b583130..465871eafbda85f8222d62b1d00284bf7a9d0152 100644 (file)
@@ -1352,8 +1352,10 @@ For the \"inline\" alternatives, also see the variable
                                      gcc)))
               (insert "Gcc: " (mapconcat 'identity gcc ", ") "\n")))))))
 
-(defun gnus-summary-resend-message (address n)
-  "Resend the current article to ADDRESS."
+(defun gnus-summary-resend-message (address n &optional no-select)
+  "Resend the current article to ADDRESS.
+Uses the process/prefix convention.  If NO-SELECT, don't display
+the message before resending."
   (interactive
    (list (message-read-from-minibuffer
          "Resend message(s) to: "
@@ -1372,6 +1374,7 @@ For the \"inline\" alternatives, also see the variable
                                           'posting-style t))
        (user-full-name user-full-name)
        (user-mail-address user-mail-address)
+       (group gnus-newsgroup-name)
        tem)
     (dolist (style styles)
       (when (stringp (cadr style))
@@ -1395,11 +1398,18 @@ For the \"inline\" alternatives, also see the variable
                        '(gnus-agent-possibly-do-gcc)
                      '(gnus-inews-do-gcc)))))
     (dolist (article (gnus-summary-work-articles n))
-      (gnus-summary-select-article nil nil nil article)
-      (with-current-buffer gnus-original-article-buffer
-       (let ((gnus-gcc-externalize-attachments nil)
-             (message-inhibit-body-encoding t))
-         (message-resend address)))
+      (if no-select
+         (with-current-buffer " *nntpd*"
+           (erase-buffer)
+           (gnus-request-article article group)
+           (let ((gnus-gcc-externalize-attachments nil)
+                 (message-inhibit-body-encoding t))
+             (message-resend address)))
+       (gnus-summary-select-article nil nil nil article)
+       (with-current-buffer gnus-original-article-buffer
+         (let ((gnus-gcc-externalize-attachments nil)
+               (message-inhibit-body-encoding t))
+           (message-resend address))))
       (gnus-summary-mark-article-as-forwarded article))))
 
 ;; From: Matthieu Moy <Matthieu.Moy@imag.fr>