* nt/INSTALL: Update MinGW URLs.
* doc/misc/efaq-w32.texi (MinGW): Update the URL's and the text to
reflect the fact that mingw.org's MinGW is no longer developed and
can be found only on the WWW Archive.
(Compiling): Add a cross-reference to "MinGW".
Avoid getting stuck waiting for `diff` to refine big hunks.
* lisp/vc/diff-mode.el (diff-refine-threshold): New custom var.
(diff--refine-hunk): Add arg `skip-if-large` and use that new var if
the arg says so.
(diff-refine-hunk): Add arg `skip-if-large`.
(diff-auto-refine-mode, diff-next/prevhunk, diff--font-lock-refined):
Use it.
* lisp/vc/vc-dispatcher.el (vc-exec-after): Refactor so as to no
longer repeatedly add and remove the sentinel. Don't have two
different ways to set mode-line-process. Don't call
accept-process-output from the sentinel, because Emacs always
reads all available process output before calling sentinels.
* lisp/vc/vc-dispatcher.el (vc--process-sentinel, vc-exec-after):
Merge vc--process-sentinel into vc-exec-after. Tidy up. This
should not involve any functional changes; those are to follow.
This is for consistency with how emacsclient behaves.
* lisp/server.el (server--process-filter-1): Improve assertion.
(server-eval-at): End request with trailing space.
* lisp/eshell/esh-mode.el (eshell-scroll-to-bottom-on-input)
(eshell-scroll-to-bottom-on-output): Add t as a choice.
* lisp/net/eww.el (eww-restore-desktop): Add 'auto' as a choice.
* lisp/vc/vc-dispatcher.el (log-edit-hook): Declare.
(vc-start-logentry): Bind log-edit-hook to nil when finishing
the log edit immediately with a caller-supplied message.
* doc/misc/modus-themes.org (Build on top of the Modus themes):
Bump the version number.
(Acknowledgements): Include more names in the Acknowledgements
section.
* etc/themes/modus-themes.el (modus-themes--activate)
(modus-themes-get-all-known-themes, modus-themes-known-p)
(modus-themes--list-enabled-themes)
(modus-themes-get-current-theme)
(modus-themes--get-theme-palette-subr)
(modus-themes-get-theme-palette, modus-themes-faces)
(modus-themes-theme)
(modus-themes--with-colors-resolve-palette-sort)
(modus-themes-with-colors-subr, modus-themes-with-colors):
Ensure that the modus-themes-with-colors macro works the way it
did before, namely, 'let' binding the current theme's palette.
* lisp/vc/log-edit.el (log-edit): Don't emit a message when
MODE.
* lisp/vc/vc-dispatcher.el (vc-start-logentry): Use '\\<>' to
simplify the code slightly.
* lisp/progmodes/project.el (project-compile): Ignore
compile-command from vc-compilation-mode (bug#79658).
* lisp/vc/vc-dispatcher.el (vc-compilation-mode-hook): New
variable.
(vc-compilation-mode): Promote to its own derived mode. Don't
use define-derived-mode in order to preserve the BACKEND
argument to this function. Don't give it its own major mode
map, et cetera, for now.
* lisp/progmodes/hideshow.el (hs-indicator-mouse-toggle-hidding):
Enclose in 'hs-life-goes-on' (bug#79585).
Suggested by Elijah Gabe Pérez <eg642616@gmail.com>.
See https://lists.gnu.org/archive/html/emacs-devel/2025-11/msg00145.html
for the related discussions.
* nt/mingw-cfg.site (ac_cv_func_acl_entries): Set to "yes" to
disable compilation of lib/acl_entries.c on MinGW.
* lib/acl_entries.c (acl_entries): Revert last change, as it is no
longer needed.
Chdir once and for all at the beginning to simplify the code.
Eliminate some redundant `expand-file-name`s and fix a broken use
of `expand-file-name` where we passed a list as second arg.
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Rename DIR to
DIRS, to clarify that it can be a list. Use `ensure-list`.
Don't pass DIR(S) directly to `expand-file-name`.
Remove redundant `expand-file-name`.
(loaddefs-generate--excluded-files): Add sanity checks.
Return relative file names since `loaddefs-generate` will make them
absolute anyway. Simplify.
(loaddefs-generate--emacs-batch): Chdir to `lisp-directory` and
simplify the rest accordingly.
This fixes problems in some cases of out-f-tree builds
(bug#79694, bug#62099, bug#64806).
The use of true names in `load-history` dates back to to commits
33d74677e7 and 6bb6da3ec1 by Alan Mackenzie <acm@muc.de> in
May 24 2006, but that was reverted by Paul Eggert's commit
dff4f9c759 on Sep 18 2019.
* lisp/startup.el (command-line): Don't `file-truename` `lisp-directory`.
* src/lread.c (syms_of_lread) <load-history>: Adjust docstring,
to reflect the fact that the files there aren't "true names".
* doc/lispref/loading.texi (Hooks for Loading): Adjust accordingly.
Also massage the text to reflect the fact that nowadays features are
more common than file names as arguments to `with-eval-after-load`.
This results in a healthy reduction of .elc file size (> 300 KiB saved)
as well as less memory use.
* lisp/emacs-lisp/bytecomp.el (byte-compile-get-constant):
Use 'equal-including-properties' as equivalence relation for all
constants, not just strings.
* etc/NEWS: Mention it. Strictly speaking it's not an incompatible
change because it doesn't break any earlier promises, but for people
having code that made incorrect assumptions, this provides a useful
explanation.
* lib/acl_entries.c (acl_entries): Make it no-op for MinGW, as it
was before. Without this, acl_entries doesn't compile on MinGW.
* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_issymlink)
(OMIT_GNULIB_MODULE_issymlinkat): Disable these Gnulib modules.
* doc/misc/eglot.texi (Eglot Features): Add comma after @xref.
* msdos/sed2v2.inp (GNULIB_ISSYMLINK): Define to 1.
* msdos/sedlibmk.inp (HAVE_RANDOM_H): Undefine, in line with its
deletion from gnulib.mk.
(GL_GNULIB_STRINGEQ): Define to 1.
* src/msdos.c (careadlinkat): NULL terminate at the end of the
data written, not one character beyond the same.
* src/timefns.c (Fdecode_time, Fencode_time)
(Fcurrent_time_string): Do not bother to preserve errno around
tzfree calls, as Gnulib now does that for us.
* admin/merge-gnulib (GNULIB_MODULES): Add stringeq.
With current Gnulib it is already present as in indirect dependency;
listing it here because Emacs now depends on it directly.
* lib-src/ebrowse.c, lib-src/etags.c:
(streq): Remove, as Gnulib defines this now.
* lib/fseterr.c, lib/fseterr.h, lib/issymlink.c, lib/issymlink.h:
* lib/issymlinkat.c, lib/stdio-consolesafe.c, lib/string.c:
* m4/fseterr.m4, m4/gettext_h.m4, m4/stringeq.m4:
New files from Gnulib.
* src/conf_post.h (tzfree) [__ANDROID_API__ >= 35]: Remove.
* lisp/emacs-lisp/cond-star.el (cond*): Document 'bind-and*'.
(bind-and*): Add a stub to raise an error if 'bind-and*' is used
outside of 'cond*'.
(cond*-convert-condition): Implement a new type of condition.