;; From: Matthieu Moy <Matthieu.Moy@imag.fr>
(defun gnus-summary-resend-message-edit ()
  "Resend an article that has already been sent.
A new buffer will be created to allow the user to modify body and
contents of the message, and then, everything will happen as when
composing a new message."
  (interactive nil gnus-summary-mode)
  (let ((mail-parse-charset gnus-newsgroup-charset))
    (gnus-setup-message 'reply-yank
      (gnus-summary-select-article t)
      (set-buffer gnus-original-article-buffer)
      (let ((cur (current-buffer))
            (to (message-fetch-field "to")))
        ;; Get a normal message buffer.
        (message-pop-to-buffer (message-buffer-name "Resend" to))
        (insert-buffer-substring cur)
        (mime-to-mml)
        (message-narrow-to-head-1)
        ;; Gnus will generate a new one when sending.
        (message-remove-header "Message-ID")
        ;; Remove unwanted headers.
        (message-remove-header message-ignored-resent-headers t)
        (goto-char (point-max))
        (insert mail-header-separator)
        ;; Add Gcc header.
        (gnus-inews-insert-gcc)
        (goto-char (point-min))
        (when (re-search-forward "^To:\\|^Newsgroups:" nil 'move)
          (forward-char 1))
        (widen)))))

Generated by apteryx using scpaste at Wed May 6 07:29:05 2026. JST. (original)