[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 3617940f322 1/3: Merge from origin/emacs-30
From: |
Eli Zaretskii |
Subject: |
master 3617940f322 1/3: Merge from origin/emacs-30 |
Date: |
Sat, 21 Dec 2024 07:59:20 -0500 (EST) |
branch: master
commit 3617940f322c381dee8b3c1f970b8eeda13d1c11
Merge: fd529bbd076 8f8da2d7854
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>
Merge from origin/emacs-30
8f8da2d7854 ; * ChangeLog.4: Update.
49adcf30b01 ; * etc/AUTHORS: Update.
1381c6f9591 * Update authors.el
5c0f3f5826e ; * etc/NEWS: Mark unmarked entries.
8a0c9c234f1 Document 'trusted-content
c6ce11b2a48 Mention network-interface-list in network-interface-info ...
a7905145f70 ; * lisp/emacs-lisp/re-builder.el (reb-change-syntax): Fi...
cde22c02011 Move NEWS items from unreleased 28.3 to released 29.1
5686bb5b428 Improve browse-url-android-share docstring
92041e15f4a Minor doc fix for url-handler-regexp
9fd96e2ab95 Improve reb-change-syntax docstring
b9dc337ea74 * lisp/files.el (trusted-content-p): Make `:all` work in ...
4b685bc4fcd ; * src/process.c (Fnetwork_interface_list): Fix typo.
c14c4895719 ; * lisp/net/nsm.el (nsm-trust-local-network): Fix typo.
10f976300d0 ; Add some tree-sitter thing content to the manual
55303a6bc0a * lisp/org/ox-texinfo.el (org-texinfo-template): Fix Info...
8b6c6cffd1f trusted-content: Adjust the last patch based on prelimina...
69b16e5c638 ; * etc/NEWS: Fix typos.
5c6dbc65f36 ; * doc/lispref/frames.texi (Multiple Terminals): Add ind...
856a58e2827 Update documentation of 'etags' regexps some more
4c68846223b Update documentation of 'etags' regexps
b5158bd1914 elisp-mode.el: Disable Flymake byte-compile backend in un...
# Conflicts:
# doc/man/etags.1
# etc/NEWS
# lisp/org/ox-texinfo.el
---
ChangeLog.4 | 854 +++++++++++++++++++++++++++++++++++++++++-
admin/authors.el | 7 +-
doc/emacs/maintaining.texi | 7 +-
doc/emacs/misc.texi | 33 ++
doc/lispref/frames.texi | 3 +
doc/lispref/parsing.texi | 10 +
doc/man/etags.1 | 13 +-
etc/AUTHORS | 62 +--
etc/NEWS.28 | 35 --
etc/NEWS.29 | 8 +
etc/NEWS.30 | 21 ++
lisp/emacs-lisp/re-builder.el | 17 +-
lisp/files.el | 51 +++
lisp/ielm.el | 1 +
lisp/net/browse-url.el | 2 +-
lisp/net/nsm.el | 4 +-
lisp/org/ox-texinfo.el | 4 +-
lisp/progmodes/elisp-mode.el | 59 ++-
lisp/simple.el | 1 +
lisp/url/url-handlers.el | 14 +-
src/process.c | 5 +-
21 files changed, 1104 insertions(+), 107 deletions(-)
diff --git a/ChangeLog.4 b/ChangeLog.4
index 7cfdbd13184..280d59a5ff1 100644
--- a/ChangeLog.4
+++ b/ChangeLog.4
@@ -1,3 +1,855 @@
+2024-12-19 Andrea Corallo <acorallo@gnu.org>
+
+ * Update authors.el
+
+ * admin/authors.el (authors-aliases, authors-valid-file-names)
+ (authors-renamed-files-alist): Add entry.
+
+2024-12-18 Eli Zaretskii <eliz@gnu.org>
+
+ Document 'trusted-content
+
+ * doc/emacs/misc.texi (Host Security): Document 'trusted-content'.
+
+ * lisp/files.el (trusted-content): Doc fix.
+
+ * etc/NEWS: Mark its entry as "documented".
+
+2024-12-18 Robert Pluim <rpluim@gmail.com>
+
+ Mention network-interface-list in network-interface-info docstring
+
+ * src/process.c (Fnetwork_interface_info): Reference
+ 'network-interface-list'.
+
+2024-12-17 Stefan Kangas <stefankangas@gmail.com>
+
+ Move NEWS items from unreleased 28.3 to released 29.1
+
+ * etc/NEWS.28: Remove empty sections for 28.3.
+ Move single pertinent item from here...
+ * etc/NEWS.29: ...to here.
+
+2024-12-17 Stefan Kangas <stefankangas@gmail.com>
+
+ Improve browse-url-android-share docstring
+
+ * lisp/net/browse-url.el (browse-url-android-share): Clarify that
+ the option only applies to Android systems.
+
+2024-12-17 Stefan Kangas <stefankangas@gmail.com>
+
+ Minor doc fix for url-handler-regexp
+
+ * lisp/url/url-handlers.el (url-handler-regexp): Remove mention of
+ obsolete internal protocol "about" (i.e. url-about.el). Reflow.
+
+2024-12-16 Stefan Kangas <stefankangas@gmail.com>
+
+ Improve reb-change-syntax docstring
+
+ * lisp/emacs-lisp/re-builder.el (reb-change-syntax): Improve docstring.
+
+2024-12-16 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * lisp/files.el (trusted-content-p): Make `:all` work in non-file
buffers
+
+2024-12-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * lisp/org/ox-texinfo.el (org-texinfo-template): Fix Info format
(bug#74844)
+
+2024-12-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ trusted-content: Adjust the last patch based on preliminary feedback
+
+ * lisp/files.el (trusted-content): Rename from `trusted-files`.
+ Update all references.
+
+ * lisp/progmodes/elisp-mode.el (lisp-interaction-mode):
+ * lisp/ielm.el (inferior-emacs-lisp-mode):
+ * lisp/simple.el (read--expression): Set `trusted-content` since
+ these buffers contain code that the user presumably intends to run
anyway.
+ (elisp--safe-macroexpand-all): Make the warning more discreet.
+
+2024-12-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ Update documentation of 'etags' regexps some more
+
+ * doc/emacs/maintaining.texi (Etags Regexps):
+ * doc/man/etags.1: Give more details about what's not supported.
+
+2024-12-15 Eli Zaretskii <eliz@gnu.org>
+
+ Update documentation of 'etags' regexps
+
+ * doc/emacs/maintaining.texi (Etags Regexps):
+ * doc/man/etags.1: Say that shy groups are not supported (bug#74861).
+
+2024-12-14 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ elisp-mode.el: Disable Flymake byte-compile backend in untrusted files
+
+ To address serious security issues (CVE-2024-53920), disable
+ `elisp-flymake-byte-compile` except in those files explicitly
+ specified as "trusted".
+
+ For that introduce a new custom var `trusted-files` and new
+ function `trusted-content-p`.
+
+ While at it, similarly skip the implicit macroexpansion done during
+ completion if the current file is not trusted.
+
+ * lisp/files.el (trusted-files): New variable.
+ (trusted-content-p): New function.
+
+ * lisp/progmodes/elisp-mode.el (elisp--safe-macroexpand-all):
+ New function, extracted from `elisp--local-variables`.
+ Use `trusted-content-p`.
+ (elisp--local-variables): Use it.
+ (elisp-flymake-byte-compile): Disable according to `trusted-content-p`.
+
+2024-12-13 Stephen Gildea <stepheng+emacs@gildea.com>
+
+ * lisp/time-stamp.el: Limit field width to two digits.
+
+2024-12-10 Philip Kaludercic <philipk@posteo.net>
+
+ Revert "Attempt to install package first when upgrading"
+
+ This reverts commit 3d8e49c41a66a7f05cb96f84e2a10f0f308ac9ca.
+
+2024-12-10 Robert Pluim <rpluim@gmail.com>
+
+ Fix 'gnus-select-method' custom type
+
+ * lisp/gnus/gnus.el (gnus-redefine-select-method-widget): Cater
+ for the 'gnus-search-engine' configuration variable, which takes
+ 2 args instead of 1. (Bug#74759)
+
+2024-12-10 Chu <maedaqu@gmail.com> (tiny change)
+
+ Fix typo in maps.texi
+
+ * doc/lispref/maps.texi (Standard Keymaps): Fix typo. (Bug#74761)
+
+2024-12-09 Michael Albinus <michael.albinus@gmx.de>
+
+ * doc/misc/tramp.texi (FUSE-based methods): Fix sshfs reference.
+
+2024-12-08 Stefan Kangas <stefankangas@gmail.com>
+
+ Improve gnus.texi indexing
+
+ * doc/misc/gnus.texi (Common Variables): Improve indexing.
+
+2024-12-07 Philip Kaludercic <philipk@posteo.net>
+
+ Attempt to install package first when upgrading
+
+ * lisp/emacs-lisp/package.el (package-upgrade): Swap the
+ 'package-install' and the 'package-delete' invocations.
+ (Bug#74556)
+
+2024-12-07 john muhl <jm@pub.pink>
+
+ Don't restrict 'lua-ts-send-file' to 'lua-ts-mode'
+
+ * lisp/progmodes/lua-ts-mode.el (lua-ts-send-file): Remove
+ restriction on interactive use. Unlike related send-* commands
+ it can be useful to send a file to the Lua interpreter outside of
+ a 'lua-ts-mode' buffer. (Bug#74705)
+
+2024-12-07 Vincenzo Pupillo <vincenzo.pupillo@unimi.it>
+
+ Remove unnecessary function call from 'php-ts-mode'
+
+ * lisp/progmodes/php-ts-mode.el (php-ts-mode): Remove
+ unnecessary function call 'treesit-font-lock-recompute-features'.
+ (Bug#74688)
+
+ (cherry picked from commit c87c5b95e1309b59b6cb07d07a20234a74a73f35)
+
+2024-12-04 Robert Pluim <rpluim@gmail.com>
+
+ Add tags to 'compilation-transform-file-match-alist' custom type
+
+ * lisp/progmodes/compile.el (compilation-filter-start): Add some
+ more meaningful tags, and switch to using 'radio' instead of
+ 'choice'.
+
+2024-12-04 Robert Pluim <rpluim@gmail.com>
+
+ Improve 'compilation-transform-file-match-alist' documentation
+
+ * doc/emacs/building.texi (Compilation Mode): Document
+ 'compilation-transform-file-match-alist'.
+ * lisp/progmodes/compile.el
+ (compilation-transform-file-match-alist):
+ Expand docstring and add some examples.
+
+2024-12-04 Robert Pluim <rpluim@gmail.com>
+
+ Improve 'compilation-hidden-output' docstring
+
+ * lisp/progmodes/compile.el (compilation-hidden-output): Escape
+ the newline so the example value is more suitable for copying.
+
+2024-12-04 Robert Pluim <rpluim@gmail.com>
+
+ Improve docstrings of functions for moving to message headers
+
+ * lisp/gnus/message.el (message-goto-to, message-goto-from,
+ message-goto-subject, message-goto-cc, message-goto-bcc,
+ message-goto-fcc, message-goto-reply-to,
+ message-goto-newsgroups, message-goto-distribution,
+ message-goto-followup-to, message-goto-mail-followup-to,
+ message-goto-keywords, message-goto-summary): Mention that these
+ will insert an empty header if the header is not found.
+ (message-position-on-field): Explain that this inserts an empty
+ header if the header is missing, and that insertion is done
+ after the headers mentioned in AFTERS.
+
+ (cherry picked from commit 9f266e2d7cde41f5872304bae0b6d2415655f1c8)
+
+2024-12-03 Stephen Berman <stephen.berman@gmx.net>
+
+ Fix the latest dabbrev-expand test fix
+
+ * test/lisp/dabbrev-tests.el (dabbrev-expand-after-killing-buffer):
+ In batch runs of this file, the user-error message contains curved
+ quotes, but grave quotes when running `make check' (so here was
+ evidently not passed to `substitute-command-keys'), so use grave
+ quotes so the test succeeds in both modes of execution.
+
+2024-12-02 Michael Albinus <michael.albinus@gmx.de>
+
+ Fix password prompt in comint (don't merge)
+
+ * lisp/comint.el (comint-watch-for-password-prompt): Use whole
+ string for setting the prompt. (Bug#74626)
+
+2024-12-02 Manuel Giraud <manuel@ledu-giraud.fr>
+
+ Fix the version of librsvg API change
+
+ * src/image.c (init_svg_functions, svg_load_image): The first
+ official version that introduces
+ 'rsvg_handle_get_pixbuf_and_error' is 2.59.0 not 2.58.0.
+ (Bug#74606)
+
+2024-12-02 Stephen Berman <stephen.berman@gmx.net>
+
+ Fix latest test for dabbrev-expand
+
+ * test/lisp/dabbrev-tests.el (dabbrev-expand-after-killing-buffer):
+ Fix typo in a 'should' test, use part of return value of 'should-error'
+ test, and remove mistaken and unfounded FIXME comment.
+
+2024-12-01 Yuan Fu <casouri@gmail.com>
+
+ Allow passing nil to treesit-node-match-p (bug#74612)
+
+ * src/treesit.c (Ftreesit_node_match_p): Return nil if NODE is nil.
+
+2024-12-01 Manuel Giraud <manuel@ledu-giraud.fr>
+
+ Update to version 2.58 of librsvg API (bug#74606)
+
+ * src/image.c (init_svg_functions): Declare new function.
+ (svg_load_image): Use it.
+
+2024-12-01 Visuwesh <visuweshm@gmail.com>
+
+ Fix decoding of non-ASCII email attachments
+
+ * lisp/mail/rfc2231.el (rfc2231-parse-string): Fix logic when a
+ non-ASCII file name is split between two filename*N* parts.
+ (Bug#74624)
+
+2024-11-30 Stephen Berman <stephen.berman@gmx.net>
+
+ Prevent "Selecting deleted buffer" error with dabbrev-expand
+
+ * lisp/dabbrev.el (dabbrev-expand): Use the buffer where the last
+ expansion was found only if it is still a live buffer (bug#74090).
+
+ * test/lisp/dabbrev-tests.el (dabbrev-expand-test-minibuffer-3):
+ Fix typo in doc string.
+ (dabbrev-expand-after-killing-buffer): New test.
+
+2024-11-30 Yuan Fu <casouri@gmail.com>
+
+ Fix docstring of c-ts-mode-indent-style
+
+ * lisp/progmodes/c-ts-mode.el (c-ts-mode-indent-style): Make the
+ docstring reflect what's expected by the code.
+
+2024-11-29 Vincenzo Pupillo <v.pupillo@gmail.com>
+
+ Support PHP 8.4 and more reliable indentation (bug#74525)
+
+ Added support for PHP 8.4 property hook. More reliable CSS and
+ Javascript syntax indentation when there are attributes in
+ <script> and <style>.
+
+ * lisp/progmodes/php-ts-mode.el:
+ (php-ts-mode--language-source-alist): Switch to the latest php
+ grammar.
+ (php-ts-mode--js-css-tag-bol): CSS and Javascript indentation is
+ now more more reliable in different formatting styles.
+ (php-ts-mode--test-property-hook-clause-p): New function that
+ tests property_hook support.
+ (php-ts-mode--font-lock-settings): Use the new function.
+ (php-ts-mode--colorize-css-value): The function now behaves
+ exactly like the one in css-ts-mode.
+ (php-ts-mode--feature-list): Changed the list to match
+ css-ts-mode.
+
+2024-11-28 Martin Rudalics <rudalics@gmx.at>
+
+ Don't inadvertently reset frame scroll bar sizes (Bug#74435)
+
+ * src/frame.c (gui_set_scroll_bar_width)
+ (gui_set_scroll_bar_height): When the new size equals the old one
+ do not reset size to default size (Bug#74435).
+
+2024-11-28 Mike Kupfer <kupfer@rawbw.com>
+
+ Mention special variables in lexical binding documentation
+
+ * doc/lispref/variables.texi (Lexical Binding): Briefly mention
+ special variables and their semantics. (Bug#74540)
+
+2024-11-28 Eli Zaretskii <eliz@gnu.org>
+
+ Allow to go back to using 'ruby-mode' after loading 'ruby-ts-mode'
+
+ * lisp/progmodes/ruby-ts-mode.el (major-mode-remap-defaults):
+ Remap 'ruby-mode' to 'ruby-ts-mode'. Add commentary.
+ * lisp/progmodes/ruby-mode.el (major-mode-remap-defaults): Remove
+ any remappings of ruby-mode'.
+ * lisp/progmodes/c-ts-mode.el: Fix a typo in a comment. (Bug#74339)
+
+2024-11-25 Stefan Kangas <stefankangas@gmail.com>
+
+ Delete obsolete section in admin/notes/repo
+
+ * admin/notes/repo: Delete section "How to merge changes from emacs-24
+ to master", which is documented in admin/notes/git-workflow. Also
+ delete out-of-date autoload advice.
+
+2024-11-25 Joost Kremers <joostkremers@fastmail.com>
+
+ Improve documentation for 'while-let'
+
+ * doc/lispref/control.texi (Conditionals): Reorganise describing
+ what's overlapping between the macros (and between the macros
+ and let*), and then improve the documentation for 'while-let'.
+
+2024-11-25 Yuan Fu <casouri@gmail.com>
+
+ Remove mention of treesit-defun-prefer-top-level (bug#74474)
+
+ treesit-defun-prefer-top-level is removed before Emacs 29
+ released and was replaced by treesit-defun-tactic. These
+ statements that set it doesn't do anything other than introduce
+ confusion, so we should remove them.
+
+ * lisp/progmodes/c-ts-mode.el (c-ts-base-mode):
+ * lisp/progmodes/js.el (js-ts-mode):
+ * lisp/progmodes/php-ts-mode.el (php-ts-mode):
+ * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
+ * lisp/progmodes/typescript-ts-mode.el:
+ (typescript-ts-base-mode):
+ Remove statements setting treesit-defun-prefer-top-level.
+
+2024-11-24 Aaron Jensen <aaronjensen@gmail.com>
+
+ Fix NS non-native fullscreen on initial frame load (bug#59790)
+
+ * src/nsterm.m ([EmacsView toggleFullScreen:]): Reset fs_is_native
+
+2024-11-24 Eli Zaretskii <eliz@gnu.org>
+
+ Fix user options for listing and marking diary files
+
+ * lisp/calendar/diary-lib.el (diary-nongregorian-listing-hook)
+ (diary-nongregorian-marking-hook): Add Chinese functions to the
+ list of variable's options. (Bug#74498)
+
+2024-11-24 john muhl <jm@pub.pink>
+
+ Avoid loading 'rx' at runtime in 'lua-ts-mode'
+
+ * lisp/progmodes/lua-ts-mode.el (lua-ts-inferior-lua):
+ Replace 'rx-to-string' and substitution with 'rx' and 'literal'.
+ (Bug#74499)
+
+ (cherry picked from commit e71d714a815e1088f8cfe946b1e431356ec85b24)
+
+2024-11-23 Eli Zaretskii <eliz@gnu.org>
+
+ Make 'jsonrpc-default-request-timeout' a defcustom
+
+ * lisp/jsonrpc.el (jsonrpc-default-request-timeout): New
+ defcustom, replaces a defconst.
+ (jsonrpc): New customization group.
+
+ * etc/NEWS: Announce the change. (Bug#74338)
+
+2024-11-23 Eli Zaretskii <eliz@gnu.org>
+
+ Update MS-Windows build instructions
+
+ * nt/INSTALL.W64:
+ * nt/README.W32: Update the name of the MSYS2 libtree-sitter
+ distribution. Reported by Nerd <hiweedmandriva3@163.com>.
+ (Bug#74429)
+
+2024-11-22 Laurence Warne <laurencewarne@gmail.com>
+
+ Skip proced refine tests on Darwin
+
+ * test/lisp/proced-tests.el (proced-refine-test)
+ (proced-refine-with-update-test): Skip if the system is Darwin.
+
+2024-11-21 Eli Zaretskii <eliz@gnu.org>
+
+ Future-proof loading tree-sitter library on MS-Windows
+
+ * src/treesit.c (syms_of_treesit) <tree-sitter--library-abi>: New
+ internal variable.
+
+ * lisp/term/w32-win.el (dynamic-library-alist): Use
+ 'tree-sitter--library-abi' to select a proper libtree-sitter DLL
+ version.
+
+2024-11-21 Eli Zaretskii <eliz@gnu.org>
+
+ Fix overriding 'c-ts-mode' by 'c-mode'
+
+ * lisp/progmodes/c-ts-mode.el: Remove all c- and c++-mode
+ associations from 'major-mode-remap-defaults' before installing
+ entries that remap to 'c-ts-mode' and 'c++-ts-mode'. (Bug#74339)
+
+2024-11-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ lisp/progmodes/c-ts-mode.el: Demote loading c-ts-mode as a configuration
+
+ See bug#74367.
+
+2024-11-16 F. Jason Park <jp@neverwas.me>
+
+ Backport: Don't autoload erc-modules
+
+ * doc/misc/erc.texi (Modules): Recommend using `describe-variable'
+ instead of `customize-option' because the latter needs the symbol to be
+ loaded.
+ * lisp/erc/erc.el (erc-modules): Remove autoload cookie because it
+ caused customizations for this option to load the main library. This
+ reverts the thrust of bb894845 "Teach customize-option about
+ erc-modules", which was added in ERC 5.6 and Emacs 30. The motivation
+ for the original offending change was to allow new users to run M-x
+ customize-option RET erc-modules RET immediately after startup instead
+ of M-x customize-group RET, followed by an I-search. (Bug#73812)
+
+ (Cherry picked from commit 1854f2751e3f73e1e5f12f6de993b6357de1766b)
+
+ Do not merge to master.
+
+2024-11-16 Eli Zaretskii <eliz@gnu.org>
+
+ Improve the documentation of major-mode remapping
+
+ * etc/NEWS (example):
+ * doc/emacs/files.texi (Reverting):
+ * doc/emacs/modes.texi (Choosing Modes): Improve the documentation
+ of 'major-mode-remap-alist' and mode remapping. (Bug#74339)
+
+2024-11-15 Robert Pluim <rpluim@gmail.com>
+
+ Improve 'which-key-special-keys' docstring
+
+ * lisp/which-key.el (which-key-special-keys): Explain the format
+ and use 'setopt'.
+
+2024-11-15 Laurence Warne <laurencewarne@gmail.com>
+
+ Don't error in Proced tests if %CPU is a NaN
+
+ * test/lisp/proced-tests.el (proced--cpu-at-point): New function.
+ (proced--assert-process-valid-cpu-refinement)
+ (proced-refine-test, proced-refine-with-update-test): If %CPU for any
+ process visited is a NaN skip the test.
+ (proced-update-preserves-pid-at-point-test): Fix typo in comment.
+ (proced--assert-process-valid-cpu-refinement-explainer): Add process
+ attributes to the explainer along with tweaking how the process %CPU is
+ obtained to account for circumstances where it's not numeric (most
+ notably '-nan').
+
+2024-11-15 Joseph Turner <joseph@breatheoutbreathe.in>
+
+ * lisp/subr.el (read-number): Document collision with 'format-prompt'.
+
+2024-11-14 Vincenzo Pupillo <v.pupillo@gmail.com>
+
+ Improve font-locking and indentation in 'php-ts-mode'
+
+ * lisp/progmodes/php-ts-mode.el (php-ts-mode--language-source-alist):
+ Updated to latest version of PHP grammar.
+ (php-ts-mode--indent-styles): 'namespace_use_declaration' is now
+ correctly indented.
+ (php-ts-mode--operators): Support of the "argument unpacking
+ operator".
+ (php-ts-mode--font-lock-settings): 'nullsafe_member_call_expression'
+ is now highlighted correctly.
+ (php-ts-mode--comment-indent-new-line): Delete trailing whitespace
+ before inserting newline (see bug#73900 for more information).
+ Bug#74239
+
+2024-11-14 john muhl <jm@pub.pink>
+
+ Fix some 'lua-ts-mode' options (Bug#74235)
+
+ * lisp/progmodes/lua-ts-mode.el (lua-ts-luacheck-program):
+ (lua-ts-inferior-program): Switch to 'file' type and remove 'nil'
+ as a choice.
+ (lua-ts-inferior-lua): Ensure 'lua-ts-inferior-program' is set.
+
+2024-11-14 john muhl <jm@pub.pink>
+
+ Improve comment indenting in 'lua-ts-mode'
+
+ * lisp/progmodes/lua-ts-mode.el (lua-ts--simple-indent-rules):
+ Align single line comments with the surrounding context.
+ (lua-ts--comment-first-sibling-matcher): Check that comment is
+ the first sibling.
+ (lua-ts--multi-line-comment-start): New function.
+ * test/lisp/progmodes/lua-ts-mode-resources/indent.erts:
+ Add tests. (Bug#74298)
+
+2024-11-14 Eshel Yaron <me@eshelyaron.com>
+
+ Update 'xref-num-matches-found' when reverting *xref* buffer
+
+ * lisp/progmodes/xref.el (xref--insert-xrefs):
+ Update 'xref-num-matches-found' here...
+ (xref--show-xref-buffer): ...instead of here (bug#74313).
+
+2024-11-13 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * lisp/files.el (require-with-check): Fix last fix (bug#74289)
+
+2024-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ lisp/files.el (require-with-check): Fix bug#74091.
+
+2024-11-10 Eli Zaretskii <eliz@gnu.org>
+
+ Fix handling of permanent-local variables in 'kill-all-local-variables'
+
+ The original implementation went too far and caused unexpected
+ results.
+ * src/buffer.c (reset_buffer_local_variables): Second argument is
+ now 'int', and can be 0, 1, or 2.
+ (Fkill_all_local_variables): Call 'reset_buffer_local_variables'
+ with 2nd argument 2 if KILL-PERMANENT is non-nil. (Bug#74091)
+
+2024-11-10 Michael Albinus <michael.albinus@gmx.de>
+
+ Precise password cache in Tramp
+
+ * doc/misc/tramp.texi (Password handling):
+ Describe auth-source-cache-expiry and auth-source-do-cache instead
+ of password-cache-expiry and password-cache. (Bug#74105)
+
+ * lisp/net/tramp.el (tramp-read-passwd): Check for `auth-sources'
+ being non-nil.
+
+2024-11-10 Eli Zaretskii <eliz@gnu.org>
+
+ Fix picture-mode with full-width characters
+
+ * lisp/textmodes/picture.el (picture-insert): Don't rely on
+ 'move-to-column' to move to the column that is its argument: this
+ might be false when full-width characters are involved.
+
+2024-11-10 Eli Zaretskii <eliz@gnu.org>
+
+ Fix movement to the left in picture-mode
+
+ * lisp/textmodes/picture.el (picture-insert): Measure width by
+ counting columns on display, not by using 'string-width', because
+ the latter is inaccurate when TABs are involved. (Bug#74255)
+
+2024-11-09 Eli Zaretskii <eliz@gnu.org>
+
+ Fix documentation and error message of adding local variables
+
+ * lisp/files-x.el (add-file-local-variable)
+ (add-file-local-variable-prop-line): Doc fixes.
+ (add-file-local-variable): Improve the user-error text. (Bug#74267)
+
+2024-11-09 Eli Zaretskii <eliz@gnu.org>
+
+ Document the 'display-line-numbers-disable' property
+
+ * doc/lispref/display.texi (Overlay Properties):
+ * doc/lispref/text.texi (Special Properties): Document
+ 'display-line-numbers-disable'. Fix indexing.
+
+2024-11-09 Eli Zaretskii <eliz@gnu.org>
+
+ Document issues with 'use-package's ':custom' and byte compilation
+
+ * doc/misc/use-package.texi (User options): Warn against
+ byte-compiling init files that use ':custom'. (Bug#73609)
+
+2024-11-08 Tim Ruffing <dev@real-or-random.org>
+
+ Fix display of compositions when font style changes (Cairo backend)
+
+ * src/ftcrfont.c (ftcrhbfont_end_hb_font): Don't persist the
+ result of 'cairo_ft_scaled_font_lock_face' in violation of the
+ API contract. (Bug#73752)
+
+2024-11-06 Mattias Engdegård <mattiase@acm.org>
+
+ Fix wrong value of `when` and `unless` with empty body (bug#74215)
+
+ * lisp/subr.el (when, unless): Return nil when the body is empty.
+ Reported by Brennan Vincent.
+ * test/lisp/subr-tests.el (subr-test-when): Add test cases.
+
+ (cherry picked from commit 9ee9154247454c18f9f75d0d32592b817d7e977a)
+
+2024-11-05 Robert Pluim <rpluim@gmail.com>
+
+ Improve 'open-network-stream' documentation.
+
+ * doc/lispref/processes.texi (Network): Correct explanation of
+ ':warn-unless-encrypted'. Document ':error' return keyword.
+ * lisp/net/network-stream.el (open-network-stream): Improve
+ ':return-list' documentation. Document ':error'. Correct
+ explanation of ':warn-unless-encrypted'.
+
+2024-11-03 Michael Albinus <michael.albinus@gmx.de>
+
+ Improve Tramp documentation on direct async processes
+
+ * doc/misc/tramp.texi (Remote processes): Add another example
+ enabling direct async processes based on method name. (Bug#74105)
+
+ * etc/NEWS: Rephrase Tramp entry on direct async processes.
+
+2024-11-01 Eli Zaretskii <eliz@gnu.org>
+
+ Improve documentation of letter-case conversions
+
+ * doc/lispref/nonascii.texi (Character Properties):
+ * doc/lispref/strings.texi (Case Conversion, Case Tables):
+ Document that special-casing rules override the case-table
+ conversions. (Bug#74155)
+
+2024-11-01 Dmitry Gutov <dmitry@gutov.dev>
+
+ project-tests: Add test assertion for bug#73801
+
+ * test/lisp/progmodes/project-tests.el
+ (project-vc-extra-root-markers-supports-wildcards): End with a
+ check that we didn't cache a wrong value for parent (bug#73801).
+
+ (cherry picked from commit 94a9e40e82d4180563d7bddfa0cc6c8990824f8d)
+
+2024-11-01 Dmitry Gutov <dmitry@gutov.dev>
+
+ project-try-vc: Fix the "sometimes wrong cache" issue
+
+ * lisp/progmodes/project.el (project-try-vc--search):
+ Extract from 'project-try-vc'.
+ (project-try-vc): Use it.
+ (project-try-vc--search): Call itself recursively directly, to
+ avoid creating invalid cache entry (bug#73801).
+
+ (cherry picked from commit 29b30eb49f8bd8bad4f9e24dd56f32d62bf70121)
+
+2024-10-31 Stephen Berman <stephen.berman@gmx.net>
+
+ Fix bugs in dabbrev-expand (bug#74090)
+
+ * lisp/dabbrev.el (dabbrev-expand): Use the buffer where the
+ expansion was found when setting the internal variables used to
+ determine the next expansion or a replacement expansion.
+
+ * test/lisp/dabbrev-tests.el (ert-x): Require for
+ 'ert-with-temp-directory', 'ert-resource-directory' and
+ 'ert-resource-file'.
+ (with-dabbrev-test): New macro.
+ (dabbrev-expand-test-same-buffer-{1,2,3,4})
+ (dabbrev-expand-test-other-buffer-{1,2,3,4})
+ (dabbrev-expand-test-minibuffer-{1,2,3,4}): New tests.
+
+ * test/lisp/dabbrev-resources/dabbrev-expand.el:
+ * test/lisp/dabbrev-resources/INSTALL_BEGIN: New test resources.
+
+ (cherry picked from commit f6c359cb66a0e9b851e3467b1ba9cab7efa8f744)
+
+2024-10-31 Yuan Fu <casouri@gmail.com>
+
+ Fix undefined variable in previous commit (bug#73900)
+
+ I somehow thought allow-auto-fill is a global variable that's
+ used by cc. But it's not. It's just a function param used by
+ c-indent-new-comment-line.
+
+ * lisp/progmodes/c-ts-common.el:
+ (c-ts-common-comment-indent-new-line): Remove reference to
+ allow-auto-fill.
+
+2024-10-31 Yuan Fu <casouri@gmail.com>
+
+ Fix c-ts-common-comment-indent-new-line (bug#73900)
+
+ * lisp/progmodes/c-ts-common.el:
+ (c-ts-common-comment-indent-new-line): Delete trailing
+ whitespace before inserting newline. The insert-line-break
+ function is the same as in c-indent-new-comment-line.
+
+2024-10-31 Yuan Fu <casouri@gmail.com>
+
+ Fix the call to treesit-thing-defined-p
+
+ * lisp/treesit.el (treesit-defun-at-point): Add the necessary
+ 2nd argument.
+
+2024-10-30 Juri Linkov <juri@linkov.net>
+
+ Backport: Call tab-bar-tab-post-open-functions during tabs
initialization
+
+ * lisp/tab-bar.el (tab-bar-tabs): Run the hook
+ 'tab-bar-tab-post-open-functions' after creating the first tab
+ in the selected frame's tab-bar list of tabs (bug#74087).
+ Suggested by Ship Mints <shipmints@gmail.com>.
+
+ (cherry picked from commit 2c062dfdf50970766db179ccbad7ce71c541cd72)
+
+2024-10-30 Laurence Warne <laurencewarne@gmail.com>
+
+ Work on proced-tests.el
+
+ * test/lisp/proced-tests.el
+ (proced--assert-process-valid-cpu-refinement-explainer): New function
+ for explaining refinement test failures in greater detail.
+
+2024-10-29 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * lisp/files.el (require-with-check): Be a bit more lenient (bug74040)
+
+2024-10-29 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ (with-peg-rules): Fix references to rulesets (bug#74018)
+
+ PEG rules get "compiled" to functions with name `peg-rule <RULE>`.
+ `define-peg-ruleset` instead defines it PEG rules with name
+ `peg-rule <RULESET> <RULE>`, so that they can be made visible
+ by `with-peg-rules` simply by adding local aliases from
+ `peg-rule <RULE>` to `peg-rule <RULESET> <RULE>`.
+
+ Apparently when I added `define-peg-ruleset` I somehow failed to
+ install some of the corresponding code in `with-peg-rules`, so
+ the aliases were not installed, making it "impossible" to use
+ rulesets.
+ [ I still have no idea how this happened and/or where
+ the missing code went, so I "recreated" it. ]
+
+ * lisp/progmodes/peg.el (with-peg-rules): Install the aliases
+ for the rulesets.
+ (peg--translate-rule-body): Try and preserve
+ location info when emitting a warning.
+
+ * test/lisp/progmodes/peg-tests.el (peg-test-myrules): New ruleset.
+ (peg-test-ruleset): New test.
+
+2024-10-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Tweak doc w.r.t to "void function" (bug#73886)
+
+ * doc/lispref/functions.texi (Function Cells): Avoid talking
+ about the function cell being void.
+
+ * src/data.c (Fboundp, Ffmakunbound, Fsymbol_function):
+ Don't suggest that "void" can be considered as a kind of value.
+
+2024-10-27 Laurence Warne <laurencewarne@gmail.com>
+
+ Fix flakey proced refine tests (Bug#73441)
+
+ * test/lisp/proced-tests.el (proced-refine-test)
+ (proced-refine-with-update-test): Use the much simpler CPU refinement
+ for testing 'proced-refine'. The previous tests made the incorrect
+ assumption that refining on the PID of process A only filtered the
+ buffer to contain process A and its children, whereas in actuality
+ the children of process A's children, their children, and so on will
+ also be shown.
+ (proced-update-preserves-pid-at-point-test): Mark as unstable.
+
+2024-10-27 Eli Zaretskii <eliz@gnu.org>
+
+ Another 'void' update
+
+ * doc/lispref/symbols.texi (Symbol Components): Another update due
+ to the change in 'void' function implementation. (Bug#73886)
+
+2024-10-27 Eli Zaretskii <eliz@gnu.org>
+
+ Fix doc string of 'wdired-use-dired-vertical-movement'
+
+ * lisp/wdired.el (wdired-use-dired-vertical-movement): Remove the
+ incorrect reference to 'track-eol'. (Bug#73917)
+
+2024-10-27 Eli Zaretskii <eliz@gnu.org>
+
+ Update the documentation of void functions
+
+ * doc/lispref/functions.texi (Function Cells):
+ * src/data.c (Ffboundp, Ffmakunbound, Fsymbol_function): Update
+ documentation to the changes of how void functions are represented
+ since Emacs 24.5. (Bug#73886)
+
+2024-10-27 Sean Whitton <spwhitton@spwhitton.name>
+
+ Backport some docstring updates, warn about upcoming obsolescence
+
+ Try to save people some time if they're developing on Emacs 30.x.
+
+ Do not merge to master.
+
+ * lisp/subr.el (if-let*, when-let*, if-let, when-let): Move
+ docstring text around so that if-let* and when-let* descriptions
+ no longer refer to if-let and when-let. Note that if-let and
+ when-let will be marked obsolete, and recommend if-let*,
+ when-let* and and-let* for new code.
+
+2024-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * lisp/editorconfig.el (editorconfig--get-indentation): Fix bug#73991
+
+2024-10-26 Andrea Corallo <acorallo@gnu.org>
+
+ Update 'ldefs-boot.el' (don't merge)
+
+ * lisp/ldefs-boot.el: Update.
+
+2024-10-26 Andrea Corallo <acorallo@gnu.org>
+
+ Bump Emacs version to 30.0.92
+
+ * nt/README.W32: Update Emacs version.
+ * msdos/sed2v2.inp: Likewise.
+ * exec/configure.ac: Likewise.
+ * configure.ac: Likewise.
+ * README: Likewise.
+
2024-10-25 Eli Zaretskii <eliz@gnu.org>
Skip *.dylib files in 'loaddefs-generate'
@@ -201640,7 +202492,7 @@
This file records repository revisions from
commit f2ae39829812098d8269eafbc0fcb98959ee5bb7 (exclusive) to
-commit 8e37b537160c1560048ac53529ef09de7561963c (inclusive).
+commit 1381c6f9591f2851896a41e178a5ccc1a32e7471 (inclusive).
See ChangeLog.3 for earlier changes.
;; Local Variables:
diff --git a/admin/authors.el b/admin/authors.el
index 50f3d1ae68d..6142dc6c566 100644
--- a/admin/authors.el
+++ b/admin/authors.el
@@ -311,7 +311,7 @@ files.")
("Lin Zhou" "georgealbert@qq\\.com")
(nil "yan@metatem\\.net")
(nil "gnu_lists@halloleo\\.hailmail\\.net")
- )
+ (nil "^Chu$" "maedaqu@gmail.com"))
"Alist of author aliases.
Each entry is of the form (REALNAME REGEXP...).
@@ -1151,7 +1151,7 @@ AUTHORS file. There are also some more recent manual
additions.")
"admin/notes/tree-sitter/build-module/batch.sh"
"doc/misc/gnus-coding.texi"
"gnus-coding.texi"
- )
+ "doc/misc/org.texi")
"File names which are valid, but no longer exist (or cannot be found)
in the repository.")
@@ -1711,7 +1711,8 @@ in the repository.")
("lisp/emacs-lisp/tcover-unsafep.el" .
"test/lisp/emacs-lisp/unsafep-tests.el")
("lisp/vt100-led.el" . "lisp/obsolete/vt100-led.el")
("lisp/mail/metamail.el" . "lisp/obsolete/metamail.el")
- ("lisp/sb-image.el" . "lisp/obsolete/sb-image.el"))
+ ("lisp/sb-image.el" . "lisp/obsolete/sb-image.el")
+ ("lisp/cedet/semantic/grammar-wy.el" .
"lisp/cedet/semantic/grm-wy-boot.el"))
"Alist of files which have been renamed during their lifetime.
Elements are (OLDNAME . NEWNAME).")
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index 99219b7f5d7..80b54327096 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -3138,7 +3138,12 @@ and all the C character escape sequences are supported:
@samp{\a} for
bell, @samp{\b} for back space, @samp{\e} for escape, @samp{\f} for
formfeed, @samp{\n} for newline, @samp{\r} for carriage return,
@samp{\t} for tab, and @samp{\v} for vertical tab. In addition,
-@samp{\d} stands for the @code{DEL} character.
+@samp{\d} stands for the @code{DEL} character. Otherwise,
+the regular expression syntax is the same as Emacs
+except that backslash escapes are the same
+as GNU grep (which means, for example, that shy groups are not supported),
+and @samp{[:ascii:]}, @samp{[:multibyte:]}, @samp{[:nonascii:]},
+@samp{[:word:]}, and @samp{[:unibyte:]} are not supported.
Ideally, @var{tagregexp} should not match more characters than are
needed to recognize what you want to tag. If the syntax requires you
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi
index f618dadc0d6..1db77b21ec3 100644
--- a/doc/emacs/misc.texi
+++ b/doc/emacs/misc.texi
@@ -277,6 +277,39 @@ trusted and the default checking for these variables is
irritating,
you can set @code{enable-local-variables} to @code{:all}. @xref{Safe
File Variables}.
+@cindex trusted files and directories
+Loading a file of Emacs Lisp code with @code{load-file} or
+@code{load-library} (@pxref{Lisp Libraries}) can execute some of the
+Lisp code in the file being loaded, so you should only load Lisp files
+whose source you trust. However, some Emacs features can in certain
+situations execute Lisp code even without your explicit command or
+request. For example, Flymake, the on-the-fly syntax checker for Emacs
+(@pxref{Top,,, flymake, GNU Flymake}), if it is enabled, can
+automatically execute some of the code in a Lisp file you visit as part
+of its syntax-checking job. Similarly, some completion commands
+(@pxref{Completion}) in buffers visiting Lisp files sometimes need to
+expand Lisp macros for best results. In these cases, just visiting a
+Lisp file and performing some editing in it could trigger execution of
+Lisp code. If the visited file came from an untrusted source, it could
+include dangerous or even malicious code that Emacs would execute in
+those situations.
+
+To protect against this, Emacs disables execution of Lisp code by
+Flymake, completion, and some other features, unless the visited file is
+@dfn{trusted}. It is up to you to specify which files on your system
+should be trusted, by customizing the user option
+@code{trusted-content}.
+
+@defopt trusted-content
+The value of this option is @code{nil} by default, which means no file
+is trusted. You can customize the variable to be a list of one or more
+names of trusted files and directories. A file name that ends in a
+slash @file{/} is interpreted as a directory, which means all its files
+and subdirectories are also trusted. A special value @code{:all} means
+@emph{all} the files and directories on your system should be trusted;
+@strong{this is not recommended}, as it opens a gaping security hole.
+@end defopt
+
@xref{Security Considerations,,, elisp, The Emacs Lisp Reference
Manual}, for more information about security considerations when using
Emacs as part of a larger application.
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index cc7d3f79a7f..310b37cd5b3 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -380,6 +380,9 @@ than one physical monitor. You can use the functions
@code{display-monitor-attributes-list} and @code{frame-monitor-attributes}
to obtain information about such setups.
+@cindex display geometry
+@cindex monitor geometry
+@cindex geometry of display monitor
@defun display-monitor-attributes-list &optional display
This function returns a list of physical monitor attributes on
@var{display}, which can be a display name (a string), a terminal, or
diff --git a/doc/lispref/parsing.texi b/doc/lispref/parsing.texi
index 7fbb8e61ce1..7f21c3864fc 100644
--- a/doc/lispref/parsing.texi
+++ b/doc/lispref/parsing.texi
@@ -1610,6 +1610,16 @@ Note that this example is modified for didactic
purposes, and isn't
exactly how C and C@t{++} modes define things.
@end defvar
+Emacs builtin functions already make use some thing definitions.
+Command @code{treesit-forward-sexp} uses the @code{sexp} definition if
+major mode defines it; @code{treesit-forward-sentence} uses the
+@code{sentence} definition. Defun movement functions like
+@code{treesit-end-of-defun} uses the @code{defun} definition
+(@code{defun} definition is overridden by
+@var{treesit-defun-type-regexp} for backward compatibility). Major
+modes can also define @code{comment}, @code{string}, @code{text}
+(generally comments and strings).
+
The rest of this section lists a few functions that take advantage of
the thing definitions. Besides the functions below, some other
functions listed elsewhere also utilize the thing feature, e.g.,
diff --git a/doc/man/etags.1 b/doc/man/etags.1
index cab0f040a40..9f01a092b16 100644
--- a/doc/man/etags.1
+++ b/doc/man/etags.1
@@ -1,5 +1,5 @@
.\" See section COPYING for copyright and redistribution information.
-.TH ETAGS 1 "2024-10-06" "GNU Tools" "GNU"
+.TH ETAGS 1 "2024-12-21" "GNU Tools" "GNU"
.de BP
.sp
.ti -.2i
@@ -187,10 +187,13 @@ useless characters. If the match is such that more
characters than
needed are unavoidably matched by \fItagregexp\fP, it may be useful to
add a \fInameregexp\fP, to narrow down the tag scope. \fBctags\fP
ignores regexps without a \fInameregexp\fP. The syntax of regexps is
-the same as in emacs. The following character escape sequences are
-supported: \\a, \\b, \\d, \\e, \\f, \\n, \\r, \\t, \\v, which
-respectively stand for the ASCII characters BEL, BS, DEL, ESC, FF, NL,
-CR, TAB, VT.
+the same as in Emacs, except that backslash escapes are the same
+as GNU grep (which means, for example, that shy groups are not supported),
+and \fB[:ascii:]\fP, \fB[:multibyte:]\fP, \fB[:nonascii:]\fP,
+\fB[:word:]\fP, and \fB[:unibyte:]\fP are not supported.
+The following character escape sequences are supported:
+\\a, \\b, \\d, \\e, \\f, \\n, \\r, \\t, \\v, which respectively
+stand for the ASCII characters BEL, BS, DEL, ESC, FF, NL, CR, TAB, VT.
.br
The \fImodifiers\fP are a sequence of 0 or more characters among
\fIi\fP, which means to ignore case when matching; \fIm\fP, which means
diff --git a/etc/AUTHORS b/etc/AUTHORS
index 3f62ddb8834..03f6b15a1a2 100644
--- a/etc/AUTHORS
+++ b/etc/AUTHORS
@@ -1737,8 +1737,8 @@ Eli Zaretskii: wrote [bidirectional display in xdisp.c]
and co-wrote help-tests.el
and changed xdisp.c display.texi w32.c msdos.c simple.el w32fns.c
files.el fileio.c keyboard.c emacs.c configure.ac text.texi w32term.c
- dispnew.c frames.texi w32proc.c files.texi xfaces.c window.c
- dispextern.h lisp.h and 1398 other files
+ dispnew.c frames.texi files.texi w32proc.c xfaces.c window.c
+ dispextern.h lisp.h and 1400 other files
Eliza Velasquez: changed server.el simple.el
@@ -1888,9 +1888,10 @@ E Sabof: changed hi-lock.el image-dired.el
Eshel Yaron: wrote completion-preview.el
and changed eglot.el emoji.el eww.el help-fns.el info.el programs.texi
- text-mode.el window.c xdisp.c bookmark.el completion-preview-tests.el
- dictionary.el easy-mmode.el eldoc.el emacs.texi eww.texi fixit.texi
- frames.texi help-mode.el help.el indent.texi and 14 other files
+ text-mode.el window.c xdisp.c xref.el bookmark.el
+ completion-preview-tests.el dictionary.el easy-mmode.el eldoc.el
+ emacs.texi eww.texi fixit.texi frames.texi help-mode.el help.el
+ and 14 other files
Espen Skoglund: wrote pascal.el
@@ -3134,8 +3135,8 @@ Jon K Hellan: wrote utf7.el
Joost Diepenmaat: changed org.el
-Joost Kremers: changed reftex-toc.el vtable-tests.el vtable.el
- vtable.texi
+Joost Kremers: changed control.texi reftex-toc.el vtable-tests.el
+ vtable.el vtable.texi
Joram Schrijver: changed eglot.el
@@ -3175,7 +3176,7 @@ and changed xterm.c xfns.c keyboard.c screen.c dispnew.c
xdisp.c window.c
Joseph M. Kelsey: changed fileio.c skeleton.el
-Joseph Turner: changed package-vc.el minibuffer.el image.el subr.el
+Joseph Turner: changed package-vc.el minibuffer.el subr.el image.el
display.texi image-tests.el info.el ispell.el lists.texi package.el
package.texi records.texi shortdoc.el shorthands.el subr-tests.el
@@ -3654,7 +3655,7 @@ Lasse Rasinen: changed gnus-start.el
Lassi Kortela: changed dns-mode.el
-Laurence Warne: changed proced.el proced-tests.el progmodes/python.el
+Laurence Warne: changed proced-tests.el proced.el progmodes/python.el
python-tests.el
Laurent Martelli: changed mm-decode.el
@@ -3812,10 +3813,10 @@ Malcolm Purvis: changed spam-stat.el
Manoj Srivastava: wrote manoj-dark-theme.el
-Manuel Giraud: changed image-dired.el xdisp.c vc.el ox-html.el
+Manuel Giraud: changed image-dired.el xdisp.c vc.el image.c ox-html.el
bookmark.el doc-view.el find-dired.el image-dired-util.el keyboard.c
longlines.el ox-publish.el dired.el dispextern.h gdb-mi.el gnus.el
- image.c paragraphs.el simple.el androidterm.c basic.texi battery.el
+ paragraphs.el simple.el androidterm.c basic.texi battery.el
and 29 other files
Manuel Gómez: changed speedbar.el
@@ -4358,7 +4359,7 @@ Mike Kazantsev: changed erc-dcc.el
Mike Kupfer: changed mh-comp.el mh-e.el mh-mime.el mh-utils.el files.el
ftcrfont.c mh-compat.el mh-funcs.el mh-utils-tests.el emacs-mime.texi
files.texi gnus-mh.el gnus.texi mh-acros.el mh-e.texi mh-identity.el
- mh-scan.el xftfont.c
+ mh-scan.el variables.texi xftfont.c
Mike Lamb: changed em-unix.el esh-util.el pcmpl-unix.el
@@ -4447,7 +4448,7 @@ Murata Shuuichirou: changed coding.c
M Visuwesh: changed dired-aux.el image.el ind-util.el quail/indian.el
delsel.el doc-view.el eww.el find-dired.el mailcap.el mouse.el shr.el
arc-mode.el comint.el dired-x.el dired.el easy-mmode.el emacsbug.el
- ffap.el files.el files.texi gnus-group.el and 18 other files
+ ffap.el files.el files.texi gnus-group.el and 19 other files
Myles English: changed org-clock.el
@@ -4770,7 +4771,7 @@ and co-wrote cal-dst.el
and changed lisp.h configure.ac alloc.c fileio.c process.c editfns.c
sysdep.c xdisp.c fns.c image.c data.c emacs.c keyboard.c lread.c
xterm.c eval.c gnulib-comp.m4 merge-gnulib callproc.c Makefile.in
- buffer.c and 1886 other files
+ buffer.c and 1887 other files
Paul Fisher: changed fns.c
@@ -5300,10 +5301,11 @@ Roberto Rodríguez: changed glossary.texi widget.texi
Robert P. Goldman: changed org.texi ob-exp.el org.el ox-latex.el
Robert Pluim: wrote nsm-tests.el
-and changed configure.ac process.c keymap.el blocks.awk custom.texi
- font.c network-stream-tests.el processes.texi emoji-zwj.awk ftfont.c
+and changed configure.ac process.c keymap.el blocks.awk processes.texi
+ custom.texi font.c network-stream-tests.el emoji-zwj.awk ftfont.c
gtkutil.c process-tests.el unicode vc-git.el display.texi files.texi
- nsterm.m terminal.c char-fold.el gnutls.el help.el and 215 other files
+ network-stream.el nsterm.m terminal.c char-fold.el gnutls.el
+ and 217 other files
Robert Thorpe: changed cus-start.el indent.el rmail.texi
@@ -5528,10 +5530,10 @@ Sean O'Rourke: changed complete.el comint.el dabbrev.el
find-func.el
Sean Sieger: changed emacs-lisp-intro.texi
Sean Whitton: wrote em-elecslash.el em-extpipe-tests.el em-extpipe.el
-and changed vc-git.el project.el bindings.el server.el simple.el
+and changed vc-git.el project.el bindings.el server.el simple.el subr.el
vc-dispatcher.el vc.el window.el eshell-tests.el eshell.texi subr-x.el
- subr.el .dir-locals.el cl-macs.el eshell-tests-helpers.el files.texi
- ftfont.c remember.el startup.el term.el INSTALL and 34 other files
+ .dir-locals.el cl-macs.el eshell-tests-helpers.el files.texi ftfont.c
+ remember.el startup.el term.el INSTALL and 34 other files
Sebastian Fieber: changed gnus-art.el mm-decode.el mm-view.el
@@ -5750,8 +5752,8 @@ Stefan Kangas: wrote bookmark-tests.el cal-julian-tests.el
underline-tests.el uudecode-tests.el wallpaper.el warnings-tests.el
and co-wrote help-tests.el keymap-tests.el
and changed image-dired.el efaq.texi package.el cperl-mode.el checkdoc.el
- subr.el help.el simple.el bookmark.el dired.el files.el dired-x.el
- gnus.texi browse-url.el erc.el keymap.c image-mode.el ediff-util.el
+ subr.el help.el simple.el bookmark.el dired.el files.el gnus.texi
+ dired-x.el browse-url.el erc.el keymap.c image-mode.el ediff-util.el
speedbar.el woman.el eglot.el and 1801 other files
Stefan Merten: co-wrote rst.el
@@ -5766,8 +5768,8 @@ Stefan Monnier: wrote bibtex-style.el bytecomp-tests.el
pcvs-util.el radix-tree.el regexp-opt-tests.el reveal.el smerge-mode.el
smie.el subword-tests.el track-changes.el vc-mtn.el
and co-wrote font-lock.el gitmerge.el pcvs.el visual-wrap.el
-and changed subr.el simple.el cl-macs.el bytecomp.el keyboard.c lisp.h
- files.el vc.el eval.c xdisp.c alloc.c buffer.c sh-script.el help-fns.el
+and changed subr.el simple.el cl-macs.el bytecomp.el keyboard.c files.el
+ lisp.h vc.el eval.c xdisp.c alloc.c buffer.c sh-script.el help-fns.el
progmodes/compile.el tex-mode.el lread.c keymap.c package.el window.c
edebug.el and 1724 other files
@@ -5803,10 +5805,10 @@ Stephen A. Wood: changed fortran.el
Stephen Berman: wrote todo-mode-tests.el
and co-wrote todo-mode.el visual-wrap.el
and changed wid-edit.el wdired.el todo-mode.texi wdired-tests.el
- diary-lib.el dired.el dired-tests.el doc-view.el files.el info.el
- minibuffer.el outline.el todo-test-1.todo widget.texi allout.el eww.el
- find-dired.el frames.texi hl-line.el ibuffer.el menu-bar.el
- and 71 other files
+ dabbrev-tests.el diary-lib.el dired.el dired-tests.el doc-view.el
+ files.el info.el minibuffer.el outline.el todo-test-1.todo widget.texi
+ allout.el dabbrev.el eww.el find-dired.el frames.texi hl-line.el
+ and 75 other files
Stephen C. Gilardi: changed configure.ac
@@ -6135,7 +6137,7 @@ Timo Taipalus: changed display.texi image.c image.el
Timothee Denizou: changed tetris.el
Tim Ruffing: changed keyboard.c calc-prog.el emacs.service keyboard.h
- macros.c dbus.el macros.h process.c subr.el term.c
+ macros.c dbus.el ftcrfont.c macros.h process.c subr.el term.c
Tim Van Holder: changed emacsclient.c Makefile.in configure.ac
progmodes/compile.el which-func.el
@@ -6652,7 +6654,7 @@ Yuan Fu: changed treesit.el treesit.c c-ts-mode.el
parsing.texi
treesit-tests.el progmodes/python.el modes.texi js.el indent.erts
treesit.h typescript-ts-mode.el c-ts-common.el css-mode.el
java-ts-mode.el rust-ts-mode.el print.c sh-script.el configure.ac
- go-ts-mode.el csharp-mode.el gdb-mi.el and 78 other files
+ go-ts-mode.el csharp-mode.el gdb-mi.el and 79 other files
Yuanle Song: changed rng-xsd.el
diff --git a/etc/NEWS.28 b/etc/NEWS.28
index ac65eaa986f..b6bed01ddce 100644
--- a/etc/NEWS.28
+++ b/etc/NEWS.28
@@ -15,41 +15,6 @@ in older Emacs versions.
You can narrow news to a specific version by calling 'view-emacs-news'
with a prefix argument or by typing 'C-u C-h C-n'.
-
-* Installation Changes in Emacs 28.3
-
-
-* Startup Changes in Emacs 28.3
-
-
-* Changes in Emacs 28.3
-
-
-* Editing Changes in Emacs 28.3
-
-
-* Changes in Specialized Modes and Packages in Emacs 28.3
-
-** 'native-comp-driver-options' on macOS.
-The value of 'native-comp-driver-options' has been changed to contain
-"-Wl,-w" to suppress warnings of the form
-
- ld: warning: -undefined dynamic_lookup may not work with chained fixups
-
-emitted during native compilation on macOS 12.6 with Xcode 14.
-
-
-* New Modes and Packages in Emacs 28.3
-
-
-* Incompatible Lisp Changes in Emacs 28.3
-
-
-* Lisp Changes in Emacs 28.3
-
-
-* Changes in Emacs 28.3 on Non-Free Operating Systems
-
* Installation Changes in Emacs 28.2
diff --git a/etc/NEWS.29 b/etc/NEWS.29
index d213c4b8010..52a00ef699a 100644
--- a/etc/NEWS.29
+++ b/etc/NEWS.29
@@ -4361,6 +4361,14 @@ two buttons: "Yes" and "No".
*** The 'ns-popup-font-panel' command has been removed.
Use the general command 'M-x menu-set-font' instead.
+*** 'native-comp-driver-options' on macOS.
+The value of 'native-comp-driver-options' has been changed to contain
+"-Wl,-w" to suppress warnings of the form
+
+ ld: warning: -undefined dynamic_lookup may not work with chained fixups
+
+emitted during native compilation on macOS 12.6 with Xcode 14.
+
----------------------------------------------------------------------
This file is part of GNU Emacs.
diff --git a/etc/NEWS.30 b/etc/NEWS.30
index 3d691cfac40..61cb66387bb 100644
--- a/etc/NEWS.30
+++ b/etc/NEWS.30
@@ -199,6 +199,15 @@ see the variable 'url-request-extra-headers'.
* Changes in Emacs 30.1
++++
+** New user option 'trusted-content' to allow potentially dangerous features.
+This variable lists those files and directories whose content Emacs should
+consider as sufficiently trusted to run any part of the code contained
+therein even without any explicit user request.
+For example, Flymake's backend for Emacs Lisp consults this option
+and disables itself with an "untrusted content" warning if the file
+is not listed.
+
---
** Emacs now supports Unicode Standard version 15.1.
@@ -1859,6 +1868,13 @@ In the past they included a terminating newline in most
cases but not all.
** Emacs Lisp mode
++++
+*** 'elisp-flymake-byte-compile' is disabled for untrusted files.
+For security reasons, this backend can be used only in those files
+specified as trusted according to 'trusted-content' and emits an
+"untrusted content" warning otherwise.
+This fixes CVE-2024-53920.
+
---
*** ',@' now has 'prefix' syntax.
Previously, the '@' character, which normally has 'symbol' syntax,
@@ -2024,6 +2040,7 @@ By default it retains the previous behavior: read the
contents of
Gemfile and act accordingly. But you can also set it to t or nil to
skip checking the Gemfile.
+---
*** New user option 'ruby-bracketed-args-indent'.
When it is set to nil, multiple consecutive open braces/brackets/parens
result in only one additional indentation level. Default is t.
@@ -2371,6 +2388,7 @@ These hooks were named incorrectly, and so they never
actually ran
when unloading the corresponding feature. Instead, you should use
hooks named after the feature name, like 'esh-mode-unload-hook'.
+---
** User options 'eshell-process-wait-{seconds,milliseconds}' are now obsolete.
Instead, use 'eshell-process-wait-time', which supports floating-point
values.
@@ -2627,6 +2645,7 @@ The new function 'haiku-notifications-notify' provides a
subset of the
capabilities of the 'notifications-notify' function in a manner
analogous to 'w32-notification-notify'.
+---
** New Haiku specific variable 'haiku-pass-control-tab-to-system'.
This sets whether Emacs should pass 'C-TAB' on to the system instead of
handling it, fixing a problem where window switching would not activate
@@ -3073,6 +3092,7 @@ inside 'treesit-language-source-alist', so that calling
It may be useful, for example, for the purposes of bisecting a
treesitter grammar.
++++
** New buffer-local variable 'tabulated-list-groups'.
It controls display and separate sorting of groups of entries. By
default no grouping or sorting is done.
@@ -3108,6 +3128,7 @@ this case, would mean repeating the object in the
argument list.) When
replacing an object with a different one, passing both the new and old
objects is still necessary.
++++
** 'vtable-insert-object' can insert "before" or at an index.
The signature of 'vtable-insert-object' has changed and is now:
diff --git a/lisp/emacs-lisp/re-builder.el b/lisp/emacs-lisp/re-builder.el
index c5307f70d08..92f22e335f7 100644
--- a/lisp/emacs-lisp/re-builder.el
+++ b/lisp/emacs-lisp/re-builder.el
@@ -485,7 +485,22 @@ If the optional PAUSE is non-nil then pause at the end in
any case."
(defun reb-change-syntax (&optional syntax)
"Change the syntax used by the RE Builder.
-Optional argument SYNTAX must be specified if called non-interactively."
+Interactively, prompt for SYNTAX.
+
+Re-Builder currently understands three different forms of input, namely
+`read', `string', and `rx' syntax:
+
+ 1. The `string' syntax is the same one used by functions such as
+ `query-replace-regexp' (\\[query-replace-regexp]). There is no need to
escape
+ backslashes and double quotes.
+
+ 2. The `read' syntax is the syntax used when specifying the
+ regexp as a string in a Lisp program.
+
+ 3. Finally, the `rx' syntax allows editing of symbolic regular
+ expressions supported by the package of the same name.
+
+When called from Lisp, SYNTAX must be specified."
(interactive
(list (intern
(completing-read
diff --git a/lisp/files.el b/lisp/files.el
index 9f13804540b..c790d4add6f 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -713,6 +713,57 @@ buffer contents as untrusted.
This variable might be subject to change without notice.")
(put 'untrusted-content 'permanent-local t)
+(defcustom trusted-content nil
+ "List of files and directories whose content we trust.
+Be extra careful here since trusting means that Emacs might execute the
+code contained within those files and directories without an explicit
+request by the user.
+One important case when this might happen is when `flymake-mode' is
+enabled (for example, when it is added to a mode hook).
+Each element of the list should be a string:
+- If it ends in \"/\", it is considered as a directory name and means that
+ Emacs should trust all the files whose name has this directory as a prefix.
+- else it is considered as a file name.
+Use abbreviated file names. For example, an entry \"~/mycode/\" means
+that Emacs will trust all the files in your directory \"mycode\".
+This variable can also be set to `:all', in which case Emacs will trust
+all files, which opens a gaping security hole."
+ :type '(choice (repeat :tag "List" file)
+ (const :tag "Trust everything (DANGEROUS!)" :all))
+ :version "30.1")
+(put 'trusted-content 'risky-local-variable t)
+
+(defun trusted-content-p ()
+ "Return non-nil if we trust the contents of the current buffer.
+Here, \"trust\" means that we are willing to run code found inside of it.
+See also `trusted-content'."
+ ;; We compare with `buffer-file-truename' i.s.o `buffer-file-name'
+ ;; to try and avoid marking as trusted a file that's merely accessed
+ ;; via a symlink that happens to be inside a trusted dir.
+ (and (not untrusted-content)
+ (or
+ (eq trusted-content :all)
+ (and
+ buffer-file-truename
+ (with-demoted-errors "trusted-content-p: %S"
+ (let ((exists (file-exists-p buffer-file-truename)))
+ (or
+ ;; We can't avoid trusting the user's init file.
+ (if (and exists user-init-file)
+ (file-equal-p buffer-file-truename user-init-file)
+ (equal buffer-file-truename user-init-file))
+ (let ((file (abbreviate-file-name buffer-file-truename))
+ (trusted nil))
+ (dolist (tf trusted-content)
+ (when (or (if exists (file-equal-p tf file) (equal tf file))
+ ;; We don't use `file-in-directory-p' here, because
+ ;; we want to err on the conservative side: "guilty
+ ;; until proven innocent".
+ (and (string-suffix-p "/" tf)
+ (string-prefix-p tf file)))
+ (setq trusted t)))
+ trusted))))))))
+
;; This is an odd variable IMO.
;; You might wonder why it is needed, when we could just do:
;; (setq-local enable-local-variables nil)
diff --git a/lisp/ielm.el b/lisp/ielm.el
index e583e0fe32c..7511d4b02ae 100644
--- a/lisp/ielm.el
+++ b/lisp/ielm.el
@@ -580,6 +580,7 @@ Customized bindings may be defined in `ielm-map', which
currently contains:
ielm-fontify-input-enable
(comint-fontify-input-mode))
+ (setq-local trusted-content :all)
(setq comint-prompt-regexp (concat "^" (regexp-quote ielm-prompt)))
(setq-local paragraph-separate "\\'")
(setq-local paragraph-start comint-prompt-regexp)
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index 0fae30b09d1..9dd990108df 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -1410,7 +1410,7 @@ Default to the URL around or before point."
'browse-url-browser-kind 'external)
(defcustom browse-url-android-share nil
- "If non-nil, share URLs instead of opening them.
+ "If non-nil, share URLs on Android systems instead of opening them.
When non-nil, `browse-url-default-android-browser' will try to
share the URL being browsed through programs such as mail clients
and instant messengers instead of opening it in a web browser."
diff --git a/lisp/net/nsm.el b/lisp/net/nsm.el
index 1ce2ff33ae6..33eb4986bb7 100644
--- a/lisp/net/nsm.el
+++ b/lisp/net/nsm.el
@@ -65,10 +65,10 @@ checked and warned against."
The default suite of TLS checks in NSM is designed to follow the
most current security best practices. Under some situations,
-such as attempting to connect to an email server that do not
+such as attempting to connect to an email server that does not
follow these practices inside a school or corporate network, NSM
may produce warnings for such occasions. Setting this option to
-a non-nil value, or a zero-argument function that returns non-nil
+a non-nil value, or a zero-argument function that returns non-nil,
tells NSM to skip checking for potential TLS vulnerabilities when
connecting to hosts on a local network.
diff --git a/lisp/org/ox-texinfo.el b/lisp/org/ox-texinfo.el
index deceeca8947..8bb07feb81e 100644
--- a/lisp/org/ox-texinfo.el
+++ b/lisp/org/ox-texinfo.el
@@ -826,7 +826,9 @@ holding export options."
;; `dn' is presumed to be just the DIRNAME part, so generate
;; either `* DIRNAME: (FILENAME).' or `* FILENAME.', whichever
;; is shortest.
- (t (format "* %s: (%s)." dn (or file dn))))))
+ (dn
+ (format "* %s: (%s)." dn (or file dn)))
+ (t (format "* (%s)." file)))))
(concat "@dircategory " dircat "\n"
"@direntry\n"
(let ((dirdesc
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 2b6d9d2b8bb..ca1e0364a13 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -448,6 +448,35 @@ be used instead.
This is used to try and avoid the most egregious problems linked to the
use of `macroexpand-all' as a way to find the \"underlying raw code\".")
+(defvar elisp--macroexpand-untrusted-warning t)
+
+(defun elisp--safe-macroexpand-all (sexp)
+ (if (not (trusted-content-p))
+ ;; FIXME: We should try and do better here, either using a notion
+ ;; of "safe" macros, or with `bwrap', or ...
+ (progn
+ (when elisp--macroexpand-untrusted-warning
+ (setq-local elisp--macroexpand-untrusted-warning nil) ;Don't spam!
+ (let ((inhibit-message t)) ;Only log.
+ (message "Completion of local vars is disabled in %s (untrusted
content)"
+ (buffer-name))))
+ sexp)
+ (let ((macroexpand-advice
+ (lambda (expander form &rest args)
+ (condition-case err
+ (apply expander form args)
+ (error
+ (message "Ignoring macroexpansion error: %S" err) form)))))
+ (unwind-protect
+ ;; Silence any macro expansion errors when
+ ;; attempting completion at point (bug#58148).
+ (let ((inhibit-message t)
+ (macroexp-inhibit-compiler-macros t)
+ (warning-minimum-log-level :emergency))
+ (advice-add 'macroexpand-1 :around macroexpand-advice)
+ (macroexpand-all sexp elisp--local-macroenv))
+ (advice-remove 'macroexpand-1 macroexpand-advice)))))
+
(defun elisp--local-variables ()
"Return a list of locally let-bound variables at point."
(save-excursion
@@ -463,23 +492,8 @@ use of `macroexpand-all' as a way to find the \"underlying
raw code\".")
(car (read-from-string
(concat txt "elisp--witness--lisp" closer)))
((invalid-read-syntax end-of-file) nil)))
- (macroexpand-advice
- (lambda (expander form &rest args)
- (condition-case err
- (apply expander form args)
- (error
- (message "Ignoring macroexpansion error: %S" err) form))))
- (sexp
- (unwind-protect
- ;; Silence any macro expansion errors when
- ;; attempting completion at point (bug#58148).
- (let ((inhibit-message t)
- (macroexp-inhibit-compiler-macros t)
- (warning-minimum-log-level :emergency))
- (advice-add 'macroexpand-1 :around macroexpand-advice)
- (macroexpand-all sexp elisp--local-macroenv))
- (advice-remove 'macroexpand-1 macroexpand-advice)))
- (vars (elisp--local-variables-1 nil sexp)))
+ (vars (elisp--local-variables-1
+ nil (elisp--safe-macroexpand-all sexp))))
(delq nil
(mapcar (lambda (var)
(and (symbolp var)
@@ -1330,7 +1344,8 @@ Semicolons start comments.
\\{lisp-interaction-mode-map}"
:abbrev-table nil
- (setq-local lexical-binding t))
+ (setq-local lexical-binding t)
+ (setq-local trusted-content :all))
;;; Emacs Lisp Byte-Code mode
@@ -2195,6 +2210,14 @@ directory of the buffer being compiled, and nothing
else.")
"A Flymake backend for elisp byte compilation.
Spawn an Emacs process that byte-compiles a file representing the
current buffer state and calls REPORT-FN when done."
+ (unless (trusted-content-p)
+ ;; FIXME: Use `bwrap' and friends to compile untrusted content.
+ ;; FIXME: We emit a message *and* signal an error, because by default
+ ;; Flymake doesn't display the warning it puts into "*flmake log*".
+ (message "Disabling elisp-flymake-byte-compile in %s (untrusted content)"
+ (buffer-name))
+ (error "Disabling elisp-flymake-byte-compile in %s (untrusted content)"
+ (buffer-name)))
(when elisp-flymake--byte-compile-process
(when (process-live-p elisp-flymake--byte-compile-process)
(kill-process elisp-flymake--byte-compile-process)))
diff --git a/lisp/simple.el b/lisp/simple.el
index e3e6ab6b564..f787db3e591 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -2033,6 +2033,7 @@ function `read-from-minibuffer'."
(set-syntax-table emacs-lisp-mode-syntax-table)
(add-hook 'completion-at-point-functions
#'elisp-completion-at-point nil t)
+ (setq-local trusted-content :all)
(run-hooks 'eval-expression-minibuffer-setup-hook))
(read-from-minibuffer prompt initial-contents
read--expression-map t
diff --git a/lisp/url/url-handlers.el b/lisp/url/url-handlers.el
index 9edc7865a74..863863c3696 100644
--- a/lisp/url/url-handlers.el
+++ b/lisp/url/url-handlers.el
@@ -1,6 +1,6 @@
;;; url-handlers.el --- file-name-handler stuff for URL loading -*-
lexical-binding:t -*-
-;; Copyright (C) 1996-1999, 2004-2024 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2024 Free Software Foundation, Inc.
;; Keywords: comm, data, processes, hypermedia
@@ -124,13 +124,13 @@ that URL in a buffer."
(defcustom url-handler-regexp
"\\`\\(?:https?\\|ftp\\|file\\|nfs\\|ssh\\|scp\\|rsync\\|telnet\\)://"
"Regular expression for URLs handled by `url-handler-mode'.
-When URL Handler mode is enabled, this regular expression is
-added to `file-name-handler-alist'.
+When URL Handler mode is enabled, this regular expression is added to
+`file-name-handler-alist'.
-Some valid URL protocols just do not make sense to visit
-interactively (about, data, info, irc, mailto, etc.). This
-regular expression avoids conflicts with local files that look
-like URLs (Gnus is particularly bad at this)."
+Some valid URL protocols just do not make sense to visit interactively
+(data, info, irc, mailto, etc.). This regular expression avoids
+conflicts with local files that look like URLs (Gnus is particularly bad
+at this)."
:group 'url
:type 'regexp
:version "25.1"
diff --git a/src/process.c b/src/process.c
index 4b3178005c8..928fae09ef6 100644
--- a/src/process.c
+++ b/src/process.c
@@ -4613,7 +4613,7 @@ network_interface_info (Lisp_Object ifname)
DEFUN ("network-interface-list", Fnetwork_interface_list,
Snetwork_interface_list, 0, 2, 0,
doc: /* Return an alist of all network interfaces and their network
address.
-Each element is cons of the form (IFNAME . IP) where IFNAME is a
+Each element is a cons of the form (IFNAME . IP) where IFNAME is a
string containing the interface name, and IP is the network address in
internal format; see the description of ADDRESS in
`make-network-process'. The interface name is not guaranteed to be
@@ -4664,7 +4664,8 @@ where ADDR is the layer 3 address, BCAST is the layer 3
broadcast address,
NETMASK is the layer 3 network mask, HWADDR is the layer 2 address, and
FLAGS is the current flags of the interface.
-Data that is unavailable is returned as nil. */)
+Data that is unavailable is returned as nil. Only returns IPv4 layer 3
+addresses, for IPv6 use `network-interface-list'. */)
(Lisp_Object ifname)
{
#if ((defined HAVE_NET_IF_H \