Don't use obsolete In-Reply-To format in messages (Bug#64454)
When creating a new message, message-send-mail uses an obsolete format for the In-Reply-To header that includes additional information about the originating message. This patch changes the default to use the rfc5322 approved format, but allow the obsolete format through a defcustom. * lisp/gnus/message.el (message-make-in-reply-to): Return only the message-id of the originating message (the default) unless the new custom variable message-header-use-obsolete-in-reply-to is non-nil. * doc/misc/message.texi: Document the new custom variable message-header-use-obsolete-in-reply-to. * etc/NEWS: Update NEWS.
This commit is contained in:
parent
40e38a681d
commit
2eb6171ec9
3 changed files with 54 additions and 28 deletions
|
@ -1791,6 +1791,12 @@ member list with elements @code{CC} and @code{To}, then
|
|||
@code{message-carefully-insert-headers} will not insert a @code{To}
|
||||
header when the message is already @code{CC}ed to the recipient.
|
||||
|
||||
@item message-header-use-obsolete-in-reply-to
|
||||
@vindex message-header-use-obsolete-in-reply-to
|
||||
When non-@code{nil}, use an obsolete form of the @code{In-Reply-To}
|
||||
header that includes a parenthetical phrase with details of the
|
||||
originating email following the message id. The default is @code{nil}.
|
||||
|
||||
@item message-syntax-checks
|
||||
@vindex message-syntax-checks
|
||||
Controls what syntax checks should not be performed on outgoing posts.
|
||||
|
|
10
etc/NEWS
10
etc/NEWS
|
@ -484,6 +484,16 @@ If 'save-place-autosave-interval' is nil, auto saving is disabled; this
|
|||
is the default. As before, saved places are scheduled to be saved at
|
||||
Emacs exit.
|
||||
|
||||
** Message
|
||||
|
||||
---
|
||||
*** In-Reply-To header contains only a message id.
|
||||
The In-Reply-To header created when replying to a message now contains
|
||||
only the originating message's id, conforming to RFC5322. The previous
|
||||
behavior included additional information about the originating message.
|
||||
The new variable 'message-header-use-obsolete-in-reply-to', nil by
|
||||
default, can be set to a non-nil value to restore the previous behavior.
|
||||
|
||||
** Gnus
|
||||
|
||||
---
|
||||
|
|
|
@ -113,6 +113,13 @@
|
|||
:group 'message
|
||||
:group 'faces)
|
||||
|
||||
(defcustom message-header-use-obsolete-in-reply-to nil
|
||||
"Include extra information in the In-Reply-To header.
|
||||
This form has been obsolete since RFC 2822."
|
||||
:group 'message-headers
|
||||
:version "31.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom message-directory "~/Mail/"
|
||||
"Directory from which all other mail file variables are derived."
|
||||
:group 'message-various
|
||||
|
@ -5993,35 +6000,38 @@ In posting styles use `(\"Expires\" (make-expires-date 30))'."
|
|||
"Return the In-Reply-To header for this message."
|
||||
(when message-reply-headers
|
||||
(let ((from (mail-header-from message-reply-headers))
|
||||
(date (mail-header-date message-reply-headers))
|
||||
(msg-id (mail-header-id message-reply-headers)))
|
||||
(date (mail-header-date message-reply-headers))
|
||||
(msg-id (mail-header-id message-reply-headers)))
|
||||
(when from
|
||||
(let ((name (mail-extract-address-components from)))
|
||||
(concat
|
||||
msg-id (if msg-id " (")
|
||||
(if (car name)
|
||||
(if (string-match "[^[:ascii:]]" (car name))
|
||||
;; Quote a string containing non-ASCII characters.
|
||||
;; It will make the RFC2047 encoder cause an error
|
||||
;; if there are special characters.
|
||||
(mm-with-multibyte-buffer
|
||||
(insert (car name))
|
||||
(goto-char (point-min))
|
||||
(while (search-forward "\"" nil t)
|
||||
(when (prog2
|
||||
(backward-char)
|
||||
(zerop (% (skip-chars-backward "\\\\") 2))
|
||||
(goto-char (match-beginning 0)))
|
||||
(insert "\\"))
|
||||
(forward-char))
|
||||
;; Those quotes will be removed by the RFC2047 encoder.
|
||||
(concat "\"" (buffer-string) "\""))
|
||||
(car name))
|
||||
(nth 1 name))
|
||||
"'s message of \""
|
||||
(if (or (not date) (string= date ""))
|
||||
"(unknown date)" date)
|
||||
"\"" (if msg-id ")")))))))
|
||||
(let ((name (mail-extract-address-components from)))
|
||||
(concat
|
||||
msg-id
|
||||
(when message-header-use-obsolete-in-reply-to
|
||||
(concat
|
||||
(if msg-id " (")
|
||||
(if (car name)
|
||||
(if (string-match "[^[:ascii:]]" (car name))
|
||||
;; Quote a string containing non-ASCII characters.
|
||||
;; It will make the RFC2047 encoder cause an error
|
||||
;; if there are special characters.
|
||||
(mm-with-multibyte-buffer
|
||||
(insert (car name))
|
||||
(goto-char (point-min))
|
||||
(while (search-forward "\"" nil t)
|
||||
(when (prog2
|
||||
(backward-char)
|
||||
(zerop (% (skip-chars-backward "\\\\") 2))
|
||||
(goto-char (match-beginning 0)))
|
||||
(insert "\\"))
|
||||
(forward-char))
|
||||
;; Those quotes will be removed by the RFC2047 encoder.
|
||||
(concat "\"" (buffer-string) "\""))
|
||||
(car name))
|
||||
(nth 1 name))
|
||||
"'s message of \""
|
||||
(if (or (not date) (string= date ""))
|
||||
"(unknown date)" date)
|
||||
"\"" (if msg-id ")")))))))))
|
||||
|
||||
(defun message-make-distribution ()
|
||||
"Make a Distribution header."
|
||||
|
|
Loading…
Add table
Reference in a new issue