Function: gnus-summary-mail-forward
gnus-summary-mail-forward is an autoloaded, interactive and
byte-compiled function defined in gnus-msg.el.gz.
Signature
(gnus-summary-mail-forward &optional ARG ALL-HEADERS POST)
Documentation
Forward the current message(s) to another user.
If process marks exist, forward all marked messages;
if ARG is nil, see message-forward-as-mime and message-forward-show-mml;
if ARG is 1, decode the message and forward directly inline;
if ARG is 2, forward message as an rfc822 MIME section;
if ARG is 3, decode message and forward as an rfc822 MIME section;
if ARG is 4, forward message directly inline;
otherwise, use negated message-forward-as-mime.
If POST, post instead of mail.
If symbolic prefix ALL-HEADERS is the symbol a, include all
original headers in the forwarded message, except those matching
message-forward-ignored-headers. Otherwise, include headers
based on the options message-forward-included-headers,
message-forward-ignored-headers, and potentially
message-forward-included-mime-headers.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-msg.el.gz
(defun gnus-summary-mail-forward (&optional arg all-headers post)
"Forward the current message(s) to another user.
If process marks exist, forward all marked messages;
if ARG is nil, see `message-forward-as-mime' and `message-forward-show-mml';
if ARG is 1, decode the message and forward directly inline;
if ARG is 2, forward message as an rfc822 MIME section;
if ARG is 3, decode message and forward as an rfc822 MIME section;
if ARG is 4, forward message directly inline;
otherwise, use negated `message-forward-as-mime'.
If POST, post instead of mail.
If symbolic prefix ALL-HEADERS is the symbol `a', include all
original headers in the forwarded message, except those matching
`message-forward-ignored-headers'. Otherwise, include headers
based on the options `message-forward-included-headers',
`message-forward-ignored-headers', and potentially
`message-forward-included-mime-headers'."
(interactive (gnus-interactive "P\ny") gnus-summary-mode)
(if (cdr (gnus-summary-work-articles nil))
;; Process marks are given.
(gnus-uu-digest-mail-forward nil post)
;; No process marks.
(let ((message-forward-as-mime message-forward-as-mime)
(message-forward-show-mml message-forward-show-mml)
(message-forward-included-headers
(if (eq all-headers 'a)
nil
message-forward-included-headers)))
(cond
((null arg))
((eq arg 1)
(setq message-forward-as-mime nil
message-forward-show-mml t))
((eq arg 2)
(setq message-forward-as-mime t
message-forward-show-mml nil))
((eq arg 3)
(setq message-forward-as-mime t
message-forward-show-mml t))
((eq arg 4)
(setq message-forward-as-mime nil
message-forward-show-mml nil))
(t
(setq message-forward-as-mime (not message-forward-as-mime))))
(let* ((gnus-article-reply (gnus-summary-article-number))
(gnus-article-yanked-articles (list gnus-article-reply)))
(gnus-setup-message 'forward
(gnus-summary-select-article)
(let ((mail-parse-charset
(or (and (gnus-buffer-live-p gnus-article-buffer)
(with-current-buffer gnus-article-buffer
gnus-article-charset))
gnus-newsgroup-charset))
(mail-parse-ignored-charsets
gnus-newsgroup-ignored-charsets))
(set-buffer gnus-original-article-buffer)
(message-forward post)))))))