* configure.ac: Stop suppresssing -Wunused-const-variable=2 when
configured --with-gcc-warnings. Suppressing no longer seems to be
needed with current GCC and src/lisp.h.
* lisp/progmodes/project.el (project--vc-list-files):
Call backend function 'project-list-files'.
(project-files): Catch 'vc-not-supported' and default to
'project--files-in-directory' using the current project.
(vc-git-project-list-files, vc-hg-project-list-files):
New functions, extracted from 'project--vc-list-files'.
(https://lists.gnu.org/archive/html/emacs-devel/2025-12/msg00290.html)
* lisp/progmodes/project.el (project-files):
Use 'file-in-directory-p' to dispatch to 'project--vc-list-files'
when listing subdirectory files too (bug#79809).
This means the backend can, for example, enable a minor mode,
without our changing the major mode immediately wiping that out.
* lisp/vc/vc.el (vc-diff-internal): Set up the major mode before
calling into the backend.
When called interactively with a prefix argument,
'prepare-user-lisp' throws a "Wrong type argument: stringp, (4)"
error. This happens because the list passed to the interactive
specification is missing one argument and 'current-prefix-arg'
is assigned to AUTOLOAD-FILE instead of FORCE.
* lisp/startup.el (prepare-user-lisp): Fix list passed to
'interactive'. (Bug#79996)
* lisp/editorconfig-core.el: Fix up leading comment.
(editorconfig-core-get-properties-hash): Remove unused `confversion` arg.
* lisp/editorconfig-fnmatch.el (editorconfig-fnmatch--cache-hashtable):
Use `defconst`.
(editorconfig-fnmatch--do-translate): Don't escape `,` or `-` in regexps.
* lisp/editorconfig.el (editorconfig-indentation-alist):
Remove redundant entries for `ess-mode` and `terra-mode`.
Remove (almost) all regexp matching and the need for saving match data.
Signal an error for unbound variables instead of a timid message,
so that it's certain to be noticed.
'any' is a holdover from the ancient 'sregex' package where it meant
'not-newline', but is easily mistaken for 'anychar'.
* lisp/emacs-lisp/rx.el (rx--translate-symbol): Warn about 'any'.
* test/lisp/emacs-lisp/rx-tests.el (rx-atoms): Suppress warning here.
* etc/NEWS: Explain.
* lisp/emacs-lisp/package-vc.el (package-vc--unpack-1):
* lisp/pcmpl-rpm.el (pcomplete/dnf):
* test/lisp/emacs-lisp/package-vc-tests.el (log-incoming):
Use 'anychar' instead of 'any', since that's probably what was meant.
The previous phrasing could be read as if backquote expansion were
mutable if containing substitions, but that is simply not true;
they should always be treated as non-mutable.
* lisp/time-stamp.el (time-stamp, time-stamp--system-name):
Use 'string-match-p' instead of 'string-match'.
(time-stamp--count-newlines): New function to implement the algorithm.
(time-stamp--system-name-1): New function, a testing seam.
* test/lisp/time-stamp-tests.el (with-time-stamp-system-name): Use the
new testing seam to expand test coverage.
* lisp/progmodes/antlr-mode.el: Prefer #' to quote function names.
Fix a few incorrect ' in docstring markup.
(antlr-font-lock-checked-face): Don't use obsolete
`font-lock-warning-face` variable.
(antlr-do-syntax-propertize): Use `emacs-major-version`.
(antlr-set-tool-version-and-mode-line): Don't set
`indent-region-function` to a non-function value.
(antlr-mode): Remove call to obsolete `easy-menu-add`.
(antlr-delphi-indent-action-line, antlr-ruby-indent-action-line):
Avoid obsolete functions `point-at-[be]ol`.
(antlr-python-indent-action-line): Make sure `syntax-ppss-*` vars are
bound dynamically rather than statically.
* lisp/emacs-lisp/timeout.el (timeout--throttle-advice)
(timeout-throttled-func): Replace 'prog1' with 'progn'
to return the evaluated value of 'result' (bug#79979).
This will capture the correct return value the first time
a throttled function is called. Previously, it would return nil
on the very first call.
(timeout-debounce, timeout-throttle, timeout-throttled-func)
(timeout-debounced-func): Add the autoload cookie.
Problem reported by Ulrich Müller (bug#79974).
* configure.ac (gl_ALIGNASOF): Arrange for it to be defined
even if aclocal is invoked other than via admin/merge-gnulib.
Also, change comments from # to dnl as they don’t make
much sense in the shell script.
Remove Gnulib sources no longer needed or used.
admin/merge-gnulib is typically not smart enough to do that.
* configure.ac: Do not call gl_EEMALLOC, as it is no longer
supplied or needed.
* lib/explicit_bzero.c, lib/malloc/scratch_buffer_dupfree.c:
* lib/xalloc-oversized.h, m4/eealloc.m4, m4/explicit_bzero.m4:
* m4/st_dm_mode.m4, m4/year2038.m4:
Remove.
* etc/NEWS: Fix unbalanced parentheses that break `submit-emacs-patch'
when Paredit is active. This happens because `lm-maintainers', which is
used by `submit-emacs-patch', enables `emacs-lisp-mode' on the `NEWS'
file.
* test/lisp/emacs-lisp/package-vc-tests.el
(package-vc-tests-packages): Rename test packages to avoid
suffix being treated as a version number by
`package--description-file'.
(package-vc-tests-add): Ensure suffix capitalisation remains as
original when calling `replace-regexp-in-string'.
(package-vc-tests-create-repository): Fix typo in temporary
email and use a reserved TLD.
(package-vc-tests-environment-tear-down): Rename preserved
buffers to avoid conflicts between tests.
* test/lisp/vc/vc-git-tests.el (vc-git-test--with-repo): Use
example.com, domain following RFC 2606.
* test/lisp/vc/vc-tests/vc-tests.el
(vc-test--with-author-identity): Use example.com, domain
following RFC 2606.