Merge from origin/emacs-30

6447634f17 ; * admin/MAINTAINERS: Add CC Mode.
486d5d524c Update cc-mode URL to point to nongnu.org
17ef46e849 ; * etc/NEWS: Note CVE-2024-53920 further up also.
05ee2b741f ; * CONTRIBUTE: Suggest to run more tests sometimes.
e74efd9a42 * CONTRIBUTE: Recommend running the unit test prior to co...
a9cde2463a Don't signal an error in treesit-node-at
5d021a711a ; Improve documentation of '.dir-locals.el'
84595cbcc7 ; (let-alist): Document double-dot escape syntax. (Bug#75...
5617b07a45 ; Prefer HTTPS to HTTP in docs
fdd23023c8 ; * admin/MAINTAINERS: Sort external packages alphabetica...
74dcfe155a ; * etc/NEWS: Remove temporary documentation markers.
a87c382cab ; * etc/NEWS: Add missing temporary documentation tags.
3c820cd265 Document insert-directory-program as a user option
2c1edf5f62 doc/lispref/modes.texi (Syntactic Font Lock): Update for ...

# Conflicts:
#	etc/NEWS
This commit is contained in:
Eli Zaretskii 2025-02-01 07:39:56 -05:00
commit 7c0a93d7e5
16 changed files with 91 additions and 484 deletions

View file

@ -160,8 +160,8 @@ If your test lasts longer than some few seconds, mark it in its
'ert-deftest' definition with ":tags '(:expensive-test)".
To run tests on the entire Emacs tree, run "make check" from the
top-level directory. Most tests are in the directory "test/". From
the "test/" directory, run "make <filename>" to run the tests for
top-level directory. Most tests are in the directory "test/". From the
"test/" directory, run "make <filename>-tests" to run the tests for
<filename>.el(c). See "test/README" for more information.
If you're making changes that involve the Emacs build system, please
@ -172,6 +172,25 @@ test 'out-of-tree' builds as well, i.e.:
../path-to-emacs-sources/configure
make
It is a good practice to run the unit test of a change prior to committing.
If you have changed, e.g., the file "xt-mouse.el", you can run the unit
tests via
make && make -C test xt-mouse-tests
Changes in code that implements infrastructure capabilities might affect
many tests in the test suite, not just the tests for the source files
you changed. For such changes, we recommend running unit tests that
invoke the functions you have changed. You can search for the tests
that might be affected using tools like Grep. For example, suppose you
make a change in the 'rename-file' primitive. Then
grep -Rl rename-file test --include="*.el"
will show all the unit tests which invoke rename-file; run them all to
be sure your changes didn't break the test suite. If in doubt, run the
entire suite.
** Commit messages
Ordinarily, a changeset you commit should contain a description of the

View file

@ -390,24 +390,13 @@ Yuan Fu
3. Externally maintained packages.
==============================================================================
Tramp
Maintainer: Michael Albinus
Repository: https://git.savannah.gnu.org/git/tramp.git
Mailing List: tramp-devel@gnu.org
Bug Reports: M-x tramp-bug
Notes: For backward compatibility requirements, see
lisp/net/trampver.el.
CC Mode
Maintainer: Alan Mackenzie
Website: https://www.nongnu.org/cc-mode
Repository: https://hg.savannah.nongnu.org/hgweb/cc-mode/
Bug reports: bug-cc-mode@gnu.org
lisp/net/tramp*.el
doc/misc/tramp*.texi
test/lisp/net/tramp*-tests.el
Transient
Maintainer: Jonas Bernoulli
Repository: https://github.com/magit/transient
lisp/transient.el
doc/misc/transient.texi
lisp/progmodes/cc-*.el
Modus themes
Maintainer: Protesilaos Stavrou
@ -433,6 +422,25 @@ Org Mode
doc/misc/org.org
doc/misc/org-setup.org
Tramp
Maintainer: Michael Albinus
Repository: https://git.savannah.gnu.org/git/tramp.git
Mailing List: tramp-devel@gnu.org
Bug Reports: M-x tramp-bug
Notes: For backward compatibility requirements, see
lisp/net/trampver.el.
lisp/net/tramp*.el
doc/misc/tramp*.texi
test/lisp/net/tramp*-tests.el
Transient
Maintainer: Jonas Bernoulli
Repository: https://github.com/magit/transient
lisp/transient.el
doc/misc/transient.texi
;;; Local Variables:
;;; coding: utf-8

View file

@ -1179,7 +1179,7 @@ from improved reproductions of Unix command-line utilities to package
repositories providing extensive collections of free GNU and Unix
software.
@uref{http://busybox.net, Busybox} provides Unix utilities and
@uref{https://busybox.net, Busybox} provides Unix utilities and
limited replicas of certain popular GNU programs such as
@command{wget} in a single statically-linked Linux binary, which is
capable of running under Android.

View file

@ -1420,10 +1420,11 @@ this search is skipped for remote files. If needed, the search can be
extended for remote files by setting the variable
@code{enable-remote-dir-locals} to @code{t}.
You can also use @file{.dir-locals-2.el}; if found, Emacs loads it
in addition to @file{.dir-locals.el}. This is useful when
@file{.dir-locals.el} is under version control in a shared repository
and can't be used for personal customizations.
You can also use @file{.dir-locals-2.el}; if found in the same
directory as @file{.dir-locals.el}, Emacs loads it in addition to
@file{.dir-locals.el}. This is useful when @file{.dir-locals.el} is
under version control in a shared repository and can't be used for
personal customizations.
The @file{.dir-locals.el} file should hold a specially-constructed
list, which maps major mode names (symbols) to alists

View file

@ -3227,11 +3227,11 @@ for the sake of dired. However, the normally equivalent short
as any other option.
@end defun
@defvar insert-directory-program
This variable's value is the program to run to generate a directory listing
for the function @code{insert-directory}. It is ignored on systems
which generate the listing with Lisp code.
@end defvar
@defopt insert-directory-program
This user option specifies the program to run to generate a directory
listing for the function @code{insert-directory}. It is ignored on
systems that generate the listing with Lisp code.
@end defopt
@node Create/Delete Dirs
@section Creating, Copying and Deleting Directories

View file

@ -4276,7 +4276,7 @@ selection targets that the owner supports, and @code{MULTIPLE}, used
for internal purposes by X clients. A selection owner may support any
number of other targets, some of which may be standardized by the X
Consortium's
@url{http://x.org/releases/X11R7.6/doc/xorg-docs/specs/ICCCM/icccm.html,
@url{https://x.org/releases/X11R7.6/doc/xorg-docs/specs/ICCCM/icccm.html,
Inter-Client Communication Conventions Manual}, while others, such as
@code{UTF8_STRING}, were meant to be standardized by the XFree86
Project, but their standardization was never completed.

View file

@ -4128,7 +4128,7 @@ This variable is normally set through the ``other'' elements in
@lisp
(setq-local font-lock-defaults
`(,python-font-lock-keywords
nil nil nil nil
nil nil nil
(font-lock-syntactic-face-function
. python-font-lock-syntactic-face-function)))
@end lisp

View file

@ -2212,8 +2212,9 @@ If some of the subdirectories have their own @file{.dir-locals.el}
files, Emacs uses the settings from the deepest file it finds starting
from the file's directory and moving up the directory tree. This
constant is also used to derive the name of a second dir-locals file
@file{.dir-locals-2.el}. If this second dir-locals file is present,
then that is loaded in addition to @file{.dir-locals.el}. This is useful
@file{.dir-locals-2.el}. If this second dir-locals file is present in
the same directory as @file{.dir-locals.el}, then it will be loaded in
addition to @file{.dir-locals.el}. This is useful
when @file{.dir-locals.el} is under version control in a shared
repository and cannot be used for personal customizations. The file
specifies local variables as a specially formatted list; see

View file

@ -582,7 +582,7 @@ you are going to be editing AWK files, @file{README} describes how to
configure your (X)Emacs so that @ccmode{} will supersede the obsolete
@code{awk-mode.el} which might have been supplied with your (X)Emacs.
@ccmode{} might not work with older versions of Emacs or XEmacs. See
the @ccmode{} release notes at @uref{https://cc-mode.sourceforge.net}
the @ccmode{} release notes at @uref{https://www.nongnu.org/cc-mode/}
for the latest information on Emacs version and package compatibility
(@pxref{Updating CC Mode}).
@ -3190,11 +3190,11 @@ margins of the texts kept intact:
@cindex Filladapt mode
It's also possible to use other adaptive filling packages, notably Kyle
E. Jones' Filladapt package@footnote{It's available from
@uref{http://www.wonderworks.com/}. As of version 2.12, it does however
@uref{https://elpa.gnu.org/packages/filladapt.html}. As of version 2.12, it does however
lack a feature that makes it work suboptimally when
@code{c-comment-prefix-regexp} matches the empty string (which it does
by default). A patch for that is available from
@uref{https://cc-mode.sourceforge.net/,, the CC Mode web site}.},
@uref{https://www.nongnu.org/cc-mode/,, the CC Mode web site}.},
@c 2005/11/22: The above is still believed to be the case.
which handles things like bulleted lists nicely. There's a convenience
function @code{c-setup-filladapt} that tunes the relevant variables in
@ -7804,7 +7804,7 @@ have old versions of @ccmode{} and so should be upgraded. Access to the
compatibility, etc.@: are all available on the web site:
@quotation
@uref{https://cc-mode.sourceforge.net/}
@uref{https://www.nongnu.org/cc-mode/}
@end quotation
@ -7838,7 +7838,7 @@ the GNU Bug Tracker at @url{https://debbugs.gnu.org}, then sends it on
to @email{bug-cc-mode@@gnu.org}. You can also send reports, other
questions, and suggestions (kudos?@: @t{;-)} to that address. It's a
mailing list which you can join or browse an archive of; see the web site at
@uref{https://cc-mode.sourceforge.net/} for further details.
@uref{https://www.nongnu.org/cc-mode/} for further details.
@cindex announcement mailing list
If you want to get announcements of new @ccmode{} releases, send the

View file

@ -481,7 +481,7 @@ Emacs help works best if it is invoked by a single key whose value
should be stored in the variable @code{help-char}.
Some Emacs slides and tutorials can be found at
@uref{http://web.psung.name/emacs/}.
@uref{https://web.psung.name/emacs/}.
@node Learning how to do something
@section How do I find out how to do something in Emacs?

View file

@ -22381,6 +22381,7 @@ First of: you really need a patched mairix binary for using the marks
propagation feature efficiently. Otherwise, you would have to update
the mairix database all the time. You can get the patch at
@c FIXME: This link is broken as of 2025-01-26.
@uref{http://www.randomsample.de/mairix-maildir-patch.tar}
You need the mairix v0.21 source code for this patch; everything else
@ -26050,7 +26051,7 @@ never install such a back end.
@cindex spam filtering, naive Bayesian
Paul Graham has written an excellent essay about spam filtering using
statistics: @uref{http://www.paulgraham.com/spam.html,A Plan for
statistics: @uref{https://www.paulgraham.com/spam.html,A Plan for
Spam}. In it he describes the inherent deficiency of rule-based
filtering as used by SpamAssassin, for example: Somebody has to write
the rules, and everybody else has to install these rules. You are

View file

@ -3403,7 +3403,7 @@ options:
| Link Type | Example |
|------------+--------------------------------------------------------------------|
| http | =http://staff.science.uva.nl/c.dominik/= |
| http | =https://staff.science.uva.nl/c.dominik/= |
| https | =https://orgmode.org/= |
| doi | =doi:10.1000/182= |
| file | =file:/home/dominik/images/jupiter.jpg= |
@ -13633,7 +13633,7 @@ backend by default in-lines that image. For example:
~org-html-inline-images~.
On the other hand, if the description part of the Org link is itself
another link, such as =file:= or =http:= URL pointing to an image, the
another link, such as =file:= or =https:= URL pointing to an image, the
HTML export backend in-lines this image and links to the main image.
This Org syntax enables the backend to link low-resolution thumbnail
to the high-resolution version of the image, as shown in this example:
@ -13938,7 +13938,7 @@ terminology. You may refer to https://tug.org/begin.html to get
familiar with LaTeX basics. Users with LaTeX installed may also run
=texdoc latex= from terminal to open LaTeX introduction [fn:: The
command will open a PDF file, which is also available for download
from http://mirrors.ctan.org/info/latex-doc-ptr/latex-doc-ptr.pdf]
from https://mirrors.ctan.org/info/latex-doc-ptr/latex-doc-ptr.pdf]
*** LaTeX/PDF export commands
:PROPERTIES:
@ -15220,7 +15220,7 @@ document in one of the following ways:
~org-latex-to-mathml-jar-file~.
If you prefer to use MathToWeb[fn:: See
[[http://www.mathtoweb.com/cgi-bin/mathtoweb_home.pl][MathToWeb]].]
[[https://mathtoweb.sourceforge.io/][MathToWeb]].]
as your converter, you can configure the above variables as shown
below.

File diff suppressed because it is too large Load diff

View file

@ -146,6 +146,12 @@ the variables of the outer one. You can, however, access alists
inside the original alist by using dots inside the symbol, as
displayed in the example above.
To refer to a non-`let-alist' variable starting with a dot in BODY, use
two dots instead of one. For example, in the following form `..foo'
refers to the variable `.foo' bound outside of the `let-alist':
(let ((.foo 42)) (let-alist \\='((foo . nil)) ..foo))
Note that there is no way to differentiate the case where a key
is missing from when it is present, but its value is nil. Thus,
the following form evaluates to nil:

View file

@ -66,7 +66,7 @@
;; You can get the latest version of CC Mode, including PostScript
;; documentation and separate individual files from:
;;
;; https://cc-mode.sourceforge.net/
;; https://www.nongnu.org/cc-mode/
;;
;; You can join a moderated CC Mode announcement-only mailing list by
;; visiting
@ -172,8 +172,8 @@
;; `c-font-lock-init' too to set up CC Mode's font lock support.
;;
;; See cc-langs.el for further info. A small example of a derived mode
;; is also available at <https://cc-mode.sourceforge.net/
;; derived-mode-ex.el>.
;; is also available at
;; <https://www.nongnu.org/cc-mode/derived-mode-ex.el>.
(defun c-leave-cc-mode-mode ()
(when c-buffer-is-cc-mode

View file

@ -232,9 +232,11 @@ language and doesn't match the language of the local parser."
(car (treesit-local-parsers-at
pos parser-or-lang))))
(treesit-parser-root-node parser))
(treesit-buffer-root-node
(or parser-or-lang
(treesit-language-at pos))))))
(condition-case nil
(treesit-buffer-root-node
(or parser-or-lang
(treesit-language-at pos)))
(treesit-no-parser nil)))))
(node root)
(node-before root)
(pos-1 (max (1- pos) (point-min)))