Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

This commit is contained in:
Michael Albinus 2025-02-04 14:33:51 +01:00
commit 2dbcabec78
3 changed files with 54 additions and 28 deletions

View file

@ -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.

View file

@ -483,6 +483,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
---

View file

@ -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."