From: Eric Abrahamsen <eric@ericabrahamsen.net>
To: Dan Jacobson <jidanni@jidanni.org>
Cc: Eli Zaretskii <eliz@gnu.org>, 67520@debbugs.gnu.org
Subject: bug#67520: 29.1; Mention headers
Date: Fri, 08 Dec 2023 09:42:10 -0800 [thread overview]
Message-ID: <878r64oakt.fsf@ericabrahamsen.net> (raw)
In-Reply-To: <871qbxnui9.7.fsf@jidanni.org> (Dan Jacobson's message of "Fri, 08 Dec 2023 13:17:02 +0800")
[-- Attachment #1: Type: text/plain, Size: 421 bytes --]
On 12/08/23 13:17 PM, Dan Jacobson wrote:
> OK, great. Now all that needs to be done is when the user types C-h C-c C-f
> they should see at the bottom:
> -----
> To include ALL headers in your forwarded message, use
>
> M-i a C-c C-f
> ------
> And of course C-c C-f runs the command gnus-summary-mail-forward needs
> to be changed to accept the prefix. (info "(gnus) Symbolic Prefixes")
Here's what I've got so far.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Provide-option-to-forward-Gnus-messages-with-all-mos.patch --]
[-- Type: text/x-patch, Size: 5259 bytes --]
From ef86e3be364cbdee3ff5d83d2d37bb31c1a9ba6b Mon Sep 17 00:00:00 2001
From: Eric Abrahamsen <eric@ericabrahamsen.net>
Date: Fri, 8 Dec 2023 09:39:58 -0800
Subject: [PATCH] Provide option to forward Gnus messages with all (most)
headers
* lisp/gnus/gnus-msg.el (gnus-summary-mail-forward): Accept symbolic
prefix to let-bind message-forward-included-headers to nil, which will
include most original message headers in the forwarded copy.
(gnus-summary-post-forward): Corresponding arglist update.
---
doc/misc/gnus.texi | 26 +++++++++++++++++---------
lisp/gnus/gnus-msg.el | 26 +++++++++++++++++---------
2 files changed, 34 insertions(+), 18 deletions(-)
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index 586e4b94ba1..ead5954a96e 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -5868,15 +5868,23 @@ Summary Mail Commands
@findex gnus-summary-mail-forward
@c @icon{gnus-summary-mail-forward}
Forward the current article to some other person
-(@code{gnus-summary-mail-forward}). If no prefix is given, the message
-is forwarded according to the value of (@code{message-forward-as-mime})
-and (@code{message-forward-show-mml}); if the prefix is 1, decode the
-message and forward directly inline; if the prefix is 2, forward message
-as an rfc822 @acronym{MIME} section; if the prefix is 3, decode message and
-forward as an rfc822 @acronym{MIME} section; if the prefix is 4, forward message
-directly inline; otherwise, the message is forwarded as no prefix given
-but use the flipped value of (@code{message-forward-as-mime}). By
-default, the forwarded message is inlined into the mail.
+(@code{gnus-summary-mail-forward}). If no prefix is given, the
+message is forwarded according to the value of
+(@code{message-forward-as-mime}) and
+(@code{message-forward-show-mml}); if the prefix is 1, decode the
+message and forward directly inline; if the prefix is 2, forward
+message as an rfc822 @acronym{MIME} section; if the prefix is 3,
+decode message and forward as an rfc822 @acronym{MIME} section; if the
+prefix is 4, forward message directly inline; otherwise, the message
+is forwarded as no prefix given but use the negated value of
+(@code{message-forward-as-mime}). By default, the forwarded message
+is inlined into the mail.
+
+Which headers from the original message are included in the forwarded
+message is determined by options specific to @code{message-mode},
+@pxref{Forwarding,,, message}. In addition, this command can be given
+the symbolic prefix @samp{a}, using @kbd{M-i a}, to include most original
+headers.
@item S m
@itemx m
diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el
index b065ae34851..e503ccae00f 100644
--- a/lisp/gnus/gnus-msg.el
+++ b/lisp/gnus/gnus-msg.el
@@ -1209,7 +1209,7 @@ gnus-summary-very-wide-reply-with-original
(gnus-summary-reply
(gnus-summary-work-articles n) t (gnus-summary-work-articles n)))
-(defun gnus-summary-mail-forward (&optional arg post)
+(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';
@@ -1217,17 +1217,25 @@ gnus-summary-mail-forward
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 flipped `message-forward-as-mime'.
+otherwise, use negated `message-forward-as-mime'.
If POST, post instead of mail.
-For the \"inline\" alternatives, also see the variable
-`message-forward-ignored-headers'."
- (interactive "P" gnus-summary-mode)
+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-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)
@@ -1380,11 +1388,11 @@ gnus-summary-resend-message-edit
(forward-char 1))
(widen)))))
-(defun gnus-summary-post-forward (&optional arg)
+(defun gnus-summary-post-forward (&optional arg all-headers)
"Forward the current article to a newsgroup.
See `gnus-summary-mail-forward' for ARG."
- (interactive "P" gnus-summary-mode)
- (gnus-summary-mail-forward arg t))
+ (interactive (gnus-interactive "P\ny") gnus-summary-mode)
+ (gnus-summary-mail-forward arg all-headers t))
(defun gnus-summary-mail-crosspost-complaint (n)
"Send a complaint about crossposting to the current article(s)."
--
2.43.0
next prev parent reply other threads:[~2023-12-08 17:42 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-29 3:49 bug#67520: 29.1; Mention headers Dan Jacobson
2023-11-29 12:56 ` Eli Zaretskii
2023-11-29 15:31 ` Eric Abrahamsen
2023-11-30 6:02 ` Dan Jacobson
2023-12-04 1:39 ` Eric Abrahamsen
2023-12-04 3:30 ` Dan Jacobson
2023-12-05 4:26 ` Eric Abrahamsen
2023-12-05 5:06 ` Dan Jacobson
2023-12-06 15:09 ` Eric Abrahamsen
2023-12-08 5:17 ` Dan Jacobson
2023-12-08 17:42 ` Eric Abrahamsen [this message]
2023-12-08 22:24 ` jidanni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=878r64oakt.fsf@ericabrahamsen.net \
--to=eric@ericabrahamsen.net \
--cc=67520@debbugs.gnu.org \
--cc=eliz@gnu.org \
--cc=jidanni@jidanni.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.