Commit graph

13168 commits

Author SHA1 Message Date
Sean Whitton
8a284cbbc5 ; Fix `(emacs)Merge Bases'
Intended to be included in previous commit.
2025-08-30 15:54:32 +01:00
Eli Zaretskii
af4a5e2b4a Merge from origin/emacs-30
3d2a818679 * doc/misc/efaq-w32.texi (UTF-8 encoding): New section (b...
ec50d775ac ; * doc/misc/flymake.texi (Finding diagnostics): Fix a ty...
293e258a1b * doc/emacs/screen.texi (Mode Line): Fix reference.
8eb192c23d ; * admin/make-tarball.txt: Update the "Web pages" sectio...
2025-08-30 07:18:37 -04:00
Spencer Baugh
b610f36d44 Document and test 'let-alist' support for indexing
* etc/NEWS: Announce 'let-alist' support for indexing.
* test/lisp/emacs-lisp/let-alist-tests.el (let-alist-numbers):
Add a test for 'let-alist's support for indexing.
* doc/lispref/lists.texi (Association Lists): Document indexing
with 'let-alist'.  (Bug#66509)
2025-08-30 13:59:18 +03:00
Sean Whitton
29e673a77b New commands for outgoing diffs including uncommitted changes
* lisp/vc/vc.el (vc-root-diff-outgoing-base)
(vc-diff-outgoing-base): New commands (bug#62940).
* lisp/vc/vc-hooks.el (vc-prefix-map): Bind them.
* doc/emacs/vc1-xtra.texi (Outgoing Base Diffs):
* etc/NEWS: Document them.
* doc/emacs/emacs.texi (Outgoing Base Diffs): New node.
2025-08-30 11:44:53 +01:00
Sean Whitton
14d20bff06 Document C-x v M D and C-x v M L in the manual
* doc/emacs/emacs.texi (Merge Bases):
* doc/emacs/vc1-xtra.texi (Merge Bases): New node.
2025-08-30 11:44:53 +01:00
Eli Zaretskii
98cd122776 ; * doc/lispref/edebug.texi (Edebug Views): Fix wording of last change. 2025-08-30 12:35:18 +03:00
Jens Schmidt
fdc6bb2caf Add edebug-bounce-to-previous-value
Command edebug-bounce-to-previous-value uses the previous value
observed while single-stepping or evaluating an expression to
bounce point in the outside current buffer to the buffer
position corresponding to that value.

* lisp/emacs-lisp/edebug.el (edebug-previous-value): Add
variable.
(edebug-compute-previous-result, edebug-eval-expression): Update
it.
(edebug-bounce-to-previous-value): Add command.
(edebug-mode-map): Add keybinding for the new command, replacing
the binding of "P" to edebug-view-outside.
(edebug-mode-menus): Add menu entry for the new command.
* doc/lispref/edebug.texi (Edebug Views): Add documentation.
* test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el
(edebug-test-code-bounce-point): Add test code.
* test/lisp/emacs-lisp/edebug-tests.el
(edebug-tests-bounce-outside-buffer)
(edebug-tests-bounce-outside-point)
(edebug-tests-bounce-outside-mark)
(edebug-tests-bounce-record-outside-environment)
(edebug-tests-should-have-bounced-to): Add infrastructure to
test bounces.
(edebug-tests-check-keymap): Update tests to new key bindings.
(edebug-tests-bounce-point)
(edebug-tests-bounce-to-previous-value)
(edebug-tests-bounce-to-previous-non-position): Add tests.
(edebug-tests-evaluation-of-current-buffer-bug-19611): Clean up
side effects.  (Bug#79288)
2025-08-30 12:30:21 +03:00
Eli Zaretskii
3d2a818679 * doc/misc/efaq-w32.texi (UTF-8 encoding): New section (bug#79296). 2025-08-30 12:23:42 +03:00
Sean Devlin
aa60f16e66 Add user option to inhibit Calc startup message (bug#79143)
* doc/misc/calc.texi (Customizing Calc): Document the new option.
* etc/NEWS: Document the new option.
* lisp/calc/calc.el (calc-inhibit-startup-message): New option to
inhibit Calc’s startup message.
(calc): Respect the option in Calc’s startup code.
* test/lisp/calc/calc-tests.el (ert): Require ert-x for
'ert-with-message-capture'.
(calc-inhibit-startup-message): Test the new user option.
2025-08-30 10:22:06 +03:00
Arash Esbati
62e0cde967 ; Delete unnecessary backslashes
* doc/misc/reftex.texi (Options - Creating Citations): Delete
unnecessary backslashes.
2025-08-28 11:50:26 +02:00
Eli Zaretskii
ec50d775ac ; * doc/misc/flymake.texi (Finding diagnostics): Fix a typo (bug#79325). 2025-08-28 08:58:17 +03:00
Michael Albinus
293e258a1b * doc/emacs/screen.texi (Mode Line): Fix reference. 2025-08-27 12:08:12 +02:00
Michael Albinus
29c35668d0 Extend info-xref-test-emacs-manuals, fix info reference
* doc/lispref/loading.texi (Autoload): Fix reference.

* test/lisp/info-xref-tests.el (info-xref-test-emacs-manuals):
Print output buffer.
2025-08-27 11:24:12 +02:00
Michael Albinus
9bde50d6fd ; Comment out tramp-hlo in tramp.texi
* doc/misc/tramp.texi (Frequently Asked Questions): Comment out
tramp-hlo.  It hasn't landed in GNU ELPA yet.
2025-08-25 20:13:02 +02:00
Jim Porter
9f33fb2258 ; * doc/misc/eshell.texi (Globbing): Fix typo and clarify (bug#79175). 2025-08-24 10:38:59 -07:00
Mattias Engdegård
308e3ab1db Disallow string data resizing (bug#79784)
Only allow string mutation that is certain not to require string data to
be resized and reallocated: writing bytes into a unibyte string, and
changing ASCII to ASCII in a multibyte string.

This ensures that mutation will never transform a unibyte string to
multibyte, that the size of a string in bytes never changes, and that
the byte offsets of characters remain the same.  Most importantly, it
removes a long-standing obstacle to reform of string representation and
allow for future performance improvements.

* src/data.c (Faset): Disallow resizing string mutation.
* src/fns.c (clear_string_char_byte_cache):
* src/alloc.c (resize_string_data):  Remove.
* test/src/data-tests.el (data-aset-string): New test.
* test/lisp/subr-tests.el (subr--subst-char-in-string):
Skip error cases.
* test/src/alloc-tests.el (aset-nbytes-change):
Remove test that is no longer relevant.
* doc/lispref/strings.texi (Modifying Strings):
* doc/lispref/sequences.texi (Array Functions):
* doc/lispref/text.texi (Substitution):  Update manual.
* etc/NEWS: Announce.
2025-08-24 10:28:27 +02:00
Eli Zaretskii
9ef78272f6 Merge from origin/emacs-30
b3ed4876b6 ; Improve documentation of Edebug
fdad3417dc ; Fix typo in 'cursor-type' widget
2025-08-23 10:30:47 -04:00
Eli Zaretskii
eabb5f450c Improve and clarify documentation of 'dired-click-to-select-mode'
* lisp/dired.el (dired-click-to-select-mode)
(dired-post-do-command):
* doc/emacs/dired.texi (Marks vs Flags): Improve documentation of
'dired-click-to-select-mode'.

(cherry picked from commit 90c44826f5)
2025-08-23 16:36:11 +03:00
Eli Zaretskii
90c44826f5 Improve and clarify documentation of 'dired-click-to-select-mode'
* lisp/dired.el (dired-click-to-select-mode)
(dired-post-do-command):
* doc/emacs/dired.texi (Marks vs Flags): Improve documentation of
'dired-click-to-select-mode'.
2025-08-23 16:33:45 +03:00
Jeremy Bryant
5d23fc9467 * doc/lispref/control.texi (cond* Macro): Update bind* entry
Update manual to match docstring of (bind*) clause, including
the qualifier `all subsequent clauses'.  (Bug#79246)
2025-08-23 16:03:46 +03:00
Spencer Baugh
aae9eddb58 flymake: stop trying to automatically fall back to margins
The code to automatically fallback to margins is not correct: it
relies implicitly on the buffer being displayed in a window
while flymake-mode is running.  If the buffer is created while
not displayed, we will always automatically fallback to margins,
which is incorrect.
Avoid the regression by simply disabling this code.  I'll try
again to fall back automatically in the future.  (Bug#79244)

* doc/misc/flymake.texi (Customizable variables): Remove section
about automatic fallback to margins.
* etc/NEWS: Un-announce removed feature.
* lisp/progmodes/flymake.el (flymake-indicator-type)
(flymake-mode): Stop automatically falling back to
margins. (bug#77313)
2025-08-23 14:44:35 +03:00
Eli Zaretskii
b3ed4876b6 ; Improve documentation of Edebug
* doc/lispref/edebug.texi (Edebug Execution Modes, Jumping)
(Edebug Misc, Breaks, Breakpoints, Global Break Condition)
(Source Breakpoints, Edebug Views, Edebug Eval, Eval List)
(Printing in Edebug, Trace Buffer, Coverage Testing)
(Checking Whether to Stop, Edebug Display Update)
(Edebug Recursive Edit, Edebug and Macros)
(Instrumenting Macro Calls, Specification List, Edebug Options):
Improve indexing and cross-references.
2025-08-23 13:44:23 +03:00
Michael Albinus
ce9def14c6 Minor tramp.texi changes
* doc/misc/tramp.texi (File name syntax): Describe port for IPv6 address.
(Traces and Profiles): Fix default value of tramp-debug-buffer-limit.
2025-08-22 14:08:52 +02:00
Rahguzar
1a549762ed Correctly document the format of tabulated-list-groups
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-groups):
Correct format in doc string (bug#79220).

* doc/lispref/modes.texi (Tabulated List Mode):
Correct format in manual.
2025-08-21 19:44:48 +03:00
Dmitry Gutov
c6bf09d5c3 ; Fix typo (wrong-type-argument not wrong-argument-type) 2025-08-21 04:06:44 +03:00
Sean Whitton
c60db19ee2 Rename some incoming & outgoing diff commands
* lisp/vc/vc.el (vc-fileset-diff-incoming)
(vc-fileset-diff-outgoing): Rename to ...
(vc-diff-incoming, vc-diff-outgoing): ... these.
All uses changed.
2025-08-20 13:11:14 +01:00
Sean Whitton
da3973b657 VC: New commands for incoming and outgoing fileset diffs
* lisp/vc/vc.el (vc-fileset-diff-incoming)
(vc-fileset-diff-outgoing): New commands.
(vc-root-diff-incoming): Refactor to call
vc-fileset-diff-incoming.
(vc-root-diff-outgoing): Refactor to call
vc-fileset-diff-outgoing.
* lisp/vc/vc-hooks.el (vc-incoming-prefix-map)
(vc-outgoing-prefix-map): Bind the new commands.
* doc/emacs/maintaining.texi (VC Change Log):
* etc/NEWS: Document the new commands.
2025-08-17 11:36:30 +01:00
Michael Albinus
6979bce0b2 Suppress Tramp session timeout if buffer is modified
* doc/misc/tramp.texi (Predefined connection information): A session
timeout is suppressed if there is a modified buffer, or a buffer
under auto-revert.
(Traces and Profiles): Tramp messages are written to the *Messages*
buffer when level is less than or equal to 3.

* lisp/net/tramp-sh.el (tramp-timeout-session): Do not timeout
when buffer is modified, or in auto-revert mode.

* test/lisp/net/tramp-tests.el (tramp-test48-session-timeout):
Extend test.
2025-08-17 11:19:01 +02:00
Michael Albinus
4a3b6daf76 Sync with Tramp 2.7.4-pre
* doc/misc/trampver.texi:
* lisp/net/trampver.el (tramp-version): Adapt Tramp versions.

* lisp/net/tramp-cmds.el (tramp-cleanup-connection):
Use read syntax #' for `tramp-timeout-session',

* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
Set "connected" property in time.

* lisp/net/tramp-sh.el (tramp-timeout-session):
Add ;;;###tramp-autoload cookie.

* lisp/net/tramp.el (tramp-barf-if-file-missing): Do not raise an
error when not connected.  (Bug#78572)
(tramp-file-name-handler): Do not force the backtrace.
(tramp-connectable-p): Check also, whether initial handshake is finished.
(tramp-skeleton-directory-files)
(tramp-skeleton-directory-files-and-attributes)
(tramp-skeleton-set-file-modes-times-uid-gid): Rearrange sending
`file-missing' error.
(tramp-handle-access-file, tramp-handle-unlock-file):
Use `tramp-connectable-p'.
(tramp-skeleton-file-name-all-completions): Filter out "" hits.
(Bug#79173)

* test/lisp/net/tramp-tests.el (project-mode-line-format)
(project-mode-line): Declare.
(tramp-test48-session-timeout): New test.
(tramp-test49-auto-load, tramp-test49-delay-load)
(tramp-test49-recursive-load, tramp-test49-remote-load-path)
(tramp-test50-without-remote-files, tramp-test51-unload): Rename.
2025-08-16 12:26:19 +02:00
Eli Zaretskii
46b22304b0 Update description of buffer-in-register
* doc/lispref/text.texi (Registers): Update register-in-buffer
form.  (Bug#79243)
2025-08-15 13:46:40 +03:00
Michael Albinus
7856dd557a Limit size of Tramp debug buffer
* doc/misc/tramp.texi (Traces and Profiles): Add
tramp-debug-buffer-limit to index.  Describe it.

* lisp/net/tramp-message.el (tramp-debug-buffer-limit): New defcustom.
(tramp-debug-message): Use it.  (Bug#79182)
2025-08-13 17:33:37 +02:00
JD Smith
7486e5c368 Implement new autoload macro expansion declare form
Currently, a hard-coded set of macros is automatically expanded
during generation of autoloads.  To allow user macros to request
such expansion, this implements a new declare form
`autoload-macro' (Bug#78995), with supported value `expand'.
For example, macros which wrap `define-minor-mode', can declare
`(autoload-macro expand)' to request that ;;;###autoload-adorned
calls to the macro are expanded during generation, such that an
autoload for the resulting function is created.

* lisp/emacs-lisp/byte-run.el (byte-run--set-autoload-macro):
Handle autoload-macro declare forms.
(macro-declarations-alist) Add handler for 'autoload-macro
declare forms.
(defmacro, defun):
* lisp/emacs-lisp/cl-generic.el (cl-defgeneric, cl-defun)
(cl-iter-defun, cl-defmacro, cl-defstruct):
* lisp/emacs-lisp/easy-mmode.el
(define-minor-mode, define-globalized-minor-mode, iter-defun):
* lisp/emacs-lisp/inline.el (define-inline):
* lisp/emacs-lisp/pcase.el (pcase-defmacro):
Declare (autoload-macro expand) to request expansion of the
macro during autoload generation.

* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--make-autoload):
Handle the `autoload-macro=expand' property for macros.  Load
the ;;;###autoload-containing file if an unknown symbol is
encountered in the car of the following form, to give packages a
chance to define their macros and request expansion.  Factor
list of special function-defining macros out as a constant
variable: `loaddefs--defining-macros'.

* doc/lispref/functions.texi (Declare Form):
* doc/lispref/loading.texi (Autoload): Document `autoload-macro'.
2025-08-10 18:14:23 -04:00
Sean Whitton
38c5742cba New command vc-working-tree-switch-project (bug#79024)
* lisp/vc/vc.el (vc-working-tree-switch-project): New command.
* lisp/vc/vc-hooks.el (vc-prefix-map): Bind it to C-x v w s.
* doc/emacs/vc1-xtra.texi (Other Working Trees):
* etc/NEWS: Document it.
2025-08-10 12:20:42 +01:00
Dmitry Gutov
07eb39f113 Allow thread's buffer to be killed, by default
* src/thread.c (Fmake_thread): Add new argument (bug#76969).
(thread_set_error): New function, extracted from thread-signal.
(Fthread_buffer_disposition): Add getter.
(Fthread_set_buffer_disposition): And setter.
(thread_check_current_buffer): Check the values of threads'
buffer_disposition.
(thread_all_before_buffer_killed): New function.
(init_threads): Set buffer_disposition to nil for the main thread.
(syms_of_threads): Add new symbols and define the error.

* src/thread.h (thread_state): New field buffer_disposition.
(thread_all_before_buffer_killed): Declare.

* src/buffer.c (Fkill_buffer): Call thread_check_current_buffer
one more time after all hooks and after that call
thread_all_before_buffer_killed.

* src/comp.c (ABI_VERSION): Increase the value.

* test/src/thread-tests.el (thread-buffer-disposition-t)
(thread-buffer-disposition-nil)
(thread-buffer-disposition-silently)
(thread-set-buffer-disposition)
(thread-set-buffer-disposition-main-thread): New tests.

* doc/lispref/threads.texi (Basic Thread Functions): Document
buffer-disposition in make-thread and its getter and setter.

* etc/NEWS: Add entry.
2025-08-09 22:40:07 +03:00
Zach Shaftel
581447cd25 Improve Vprint_variable_mapping
* src/print.c (print_create_variable_mapping): Fix a typo,
`unreadeable-function' to `unreadable-function'. Add `symbols-bare'
as an override for `print-symbols-bare'.  (Bug#79161)
2025-08-09 15:34:51 +03:00
Michael Albinus
1fc4bb1fea Rename variables *-in-progress-p to *-in-progress
* doc/lispref/backups.texi (Reverting): Fix variable names
revert-buffer-in-progress and auto-revert-buffer-in-progress.

* etc/NEWS: Fix variable names revert-buffer-in-progress and
auto-revert-buffer-in-progress.
Presentational fixes and improvements.

* lisp/autorevert.el (auto-revert-buffer-in-progress): Rename.
(auto-revert-handler, auto-revert-buffer): Use renamed variables.

* lisp/dired-x.el (dired-omit-expunge):
Use `auto-revert-buffer-in-progress'.

* lisp/files.el (revert-buffer-in-progress): Rename.
(revert-buffer-in-progress-p): Declare obsolete.
(after-find-file, revert-buffer):
* lisp/saveplace.el (save-place-find-file-hook)
(save-place-dired-hook):
* lisp/vc/vc-git.el (vc-git-command, vc-git--out-ok):
* lisp/vc/vc.el (vc-diff-internal):
Use `revert-buffer-in-progress'.

* lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Suppress warning.
2025-08-09 14:21:23 +02:00
mattiasdrp
bd1362b686 Autoinsert: Allow condition to be a function
Currently a condition can only be a regexp or a major-mode symbol but
there's no real reason to not allow any predicate as a condition.
* doc/misc/autotype.texi: Document the new condition type in
'auto-insert-alist'.
* etc/NEWS: Announce the new condition type in 'auto-insert-alist'.
* lisp/autoinsert.el (auto-insert-alist): Add the new condition type to
the variable documentation.
(auto-insert): Change the way the condition is matched to allow for
custom predicates.
* test/lisp/autoinsert-tests.el
(autoinsert-tests-auto-insert-lambda/-nil): Add two tests for
lambdas (nil and t cases)
(autoinsert-tests-auto-insert-predicate/-nil): Add two tests for named
predicates (nil and t cases) (Bug#79178)
2025-08-09 13:35:48 +03:00
Eli Zaretskii
0c40940054 Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2025-08-08 14:41:26 +03:00
Eli Zaretskii
5d5a00e4ad Revert "Autoinsert: Allow condition to be a function"
This reverts commit 738a7bb494.
It caused regressions in autoinsert-tests, and causes
conceptual problems due to its design.  (Bug#79178)
2025-08-08 14:39:34 +03:00
Michael Albinus
be4be3eb09 Add auto-revert-buffer-in-progress-p
* doc/lispref/backups.texi (Reverting):
Add auto-revert-buffer-in-progress-p.

* etc/NEWS: Mention auto-revert-buffer-in-progress-p.

* lisp/autorevert.el (auto-revert-buffer-in-progress-p):
New autoloaded variable.
(auto-revert-buffer): Let-bind it.  (Bug#79145)

* lisp/dired-x.el (dired-omit-expunge): Suppress messages when in
auto-revert.
2025-08-08 13:26:16 +02:00
mattiasdrp
738a7bb494 Autoinsert: Allow condition to be a function
Currently a condition can only be a regexp or a major-mode symbol
but there's no real reason to not allow any predicate as a
condition.
* doc/misc/autotype.texi: Document the new condition type in
'auto-insert-alist'.
* etc/NEWS: Announce the new condition type in 'auto-insert-alist'.
* lisp/autoinsert.el (auto-insert-alist): Add the new condition
type to the variable documentation.
(auto-insert): Change the way the condition is matched to allow for
custom predicates.  (Bug#79178)
2025-08-07 17:36:45 +03:00
Michael Albinus
5ff8a90395 Tramp allows now external implementations for functions
* doc/misc/tramp.texi (Frequently Asked Questions): Mention tramp-hlo.
(New operations): New node.
(Top, Files directories and localnames):  Add it to @menu.

* etc/NEWS: Mention Tramp's feature to add function implementations.
Presentational fixes and improvements.

* lisp/net/tramp.el (tramp-file-name-for-operation-external): New defvar.
(tramp-file-name-for-operation): Use `memq'.  Handle external
operations.  Raise `remote-file-error' error in case of.
(tramp-add-external-operation, tramp-remove-external-operation):
New defuns.

* test/lisp/net/tramp-archive-tests.el (tramp-archive-test50-auto-load)
(tramp-archive-test50-delay-load)
(tramp-archive-test51-without-remote-files): Rename.

* test/lisp/net/tramp-tests.el (tramp--test-operation)
(tramp--handler-for-test-operation): New defuns.
(tramp-test49-external-backend-function): New test.
(tramp-test50-auto-load, tramp-test50-delay-load)
(tramp-test50-recursive-load, tramp-test50-remote-load-path)
(tramp-test51-without-remote-files, tramp-test52-unload): Rename.
2025-08-05 12:00:21 +02:00
Paul Eggert
687d3cb03b Update from Gnulib by running admin/merge-gnulib
* lib/sys-limits.h: New file.
2025-08-02 11:19:24 -07:00
Eli Zaretskii
0c77c5edfd Merge from origin/emacs-30
477335a10b ; Fix documentation of 'find-file-noselect'
9e3720bbb1 * doc/misc/gnus.texi (Category Syntax): Update gnus-agent...
456f44a7b3 ; Improve documentation of change hooks
f20d5e63bc ; * lisp/image.el (image-supported-file-p): Doc fix (bug#...
8ec2ddebdd ; Update documentation of GC in ELisp manual
57a9798c22 Prefer "tls" to "ssl" in documentation
2025-08-02 11:13:41 -04:00
Eli Zaretskii
477335a10b ; Fix documentation of 'find-file-noselect'
* doc/lispref/files.texi (Visiting Functions):
* lisp/files.el (find-file-noselect): Document that NOWARN non-nil
also bypasses the file's last change verification.  (Bug#79127)
2025-08-02 17:33:15 +03:00
James Thomas
cd31c3cb42 Add 'other-window-backward' for a default binding (bug#78803)
This moves in the opposite direction to 'other-window' by
default, and is consistent with its repeat map.
* lisp/window.el (other-window-backward): New function bound to
'C-x O'.
(ctl-x-map): Update definition.
* doc/emacs/windows.texi (Other Window): Update docs.
* etc/NEWS: Annouce the new command.
2025-08-02 17:25:14 +03:00
Jonas Bernoulli
17c54bed4b
Update to Transient v0.9.4-8-g6bc543d5 2025-08-01 19:38:56 +02:00
James Thomas
9e3720bbb1 * doc/misc/gnus.texi (Category Syntax): Update gnus-agent-predicate.
This updates the Gnus manual due to recent code change (bug#79123).
2025-07-31 08:19:51 +03:00
Eli Zaretskii
456f44a7b3 ; Improve documentation of change hooks
* doc/lispref/text.texi (Change Hooks): Warn against buffer
changes in the hook functions.  (Bug#79115)
2025-07-30 19:48:07 +03:00
Robert Pluim
45a5fae991 Add support for AUTH=PLAIN to imap.el
* lisp/net/imap.el (imap-authenticators): Add 'plain' to the
list.
(imap-authenticator-alist): Add 'imap-plain-p' and
'imap-plain-auth'.
(imap-plain-p): New function, detects AUTH=PLAIN support.
(imap-plain-auth): Perform the AUTH=PLAIN authentication.

* doc/misc/gnus.texi (Mail Source Specifiers): Add 'plain'.
(Conformity): Add reference to RFC 4616.

* etc/NEWS: Announce the support.
2025-07-30 15:36:02 +02:00