Commit graph

3949 commits

Author SHA1 Message Date
Paul Eggert 225876e979 ARRAYELTS → countof
C2y will standardize countof as the macro that Emacs uses the name
ARRAYELTS for.  Switch to the standard name, which is supported
by GCC 16+, by Clang 21, and by the Gnulib stdcountof-h module already
in use for compilers that do not support countof.
Also, use countof in a few places where we missed using ARRAYELTS.
* admin/coccinelle/arrayelts.cocci: Suggest countof, not ARRAYELTS.
* admin/merge-gnulib (GNULIB_MODULES): Add stdcountof-h,
as it is now a direct rather than an indirect dependency.
* exec/trace.c, src/lisp.h, src/sfnt.c: Include <stdcountof.h>.
(ARRAYELTS): Remove.  All uses replaced by countof.
* lib-src/ebrowse.c, lib-src/etags.c, lib-src/make-docfile.c:
* lib-src/seccomp-filter.c, lwlib/lwlib-Xaw.c:
Prefer <stdcountof.h> and countof to doing things by hand.
2026-05-26 21:57:20 -07:00
Paul Eggert 834ff524f9 Update from Gnulib by running admin/merge-gnulib
In addition to the automatic changes, also do the following,
needed due to recent Gnulib changes.
* admin/merge-gnulib (AVOIDED_MODULES): Add btoc32,
c32_apply_type_test, c32_get_type_test, c32isalnum, c32rtomb,
c32tolower, c32toupper, localeinfo, mbrtoc32-regular.
Remove btowc, iswctype, mbrtowc, wcrtomb, wctype, wctype-h.
Also remove iswblank, iswdigit, iswxdigit, locale-h, raise,
stdarg-h, some of which perhaps could have been removed earlier.
* configure.ac (_REGEX_AVOID_UCHAR_H): New macro.
2026-05-26 21:57:20 -07:00
Sean Whitton 768c8bf004 Revert "* admin/notes/documentation: Recommend not using "it's"." 2026-05-24 11:49:50 +01:00
Paul Eggert ad8af430e6 Avoid a memset in alloc-colors.c
* admin/alloc-colors.c (main): Simplify.
2026-05-23 19:18:53 -07:00
Eli Zaretskii 407b5ce7ab Merge from origin/emacs-31
cf96e9cb5a ; Fix byte-compilation warnings in non-Tree-Sitter builds
23575adc7b ; * doc/lispref/variables.texi (Local Variables): Fix typ...
8b6fb2f646 ; * doc/lispref/variables.texi (Local Variables): Fix 'na...
d3c72b8389 ; * src/xdisp.c (display_line): Fix commentary (bug#80693).
a981517b72 Fill margins with 'margin' face on truncated screen lines
8e37499035 ; * doc/lispref/os.texi (Init File): Fix markup (bug#81049).
f4c326c378 ; * src/sfnt.c (sfnt_read_cmap_format_12): Assert there's...
bf89ee6d07 ; * etc/PROBLEMS: Cursor not shown on Windows with system...
20500d6200 ; htmlfontify: Handle 'reset' face attribute value (bug#8...
d0d657fa90 ; Minor Tramp cleanup
93ea0d7d28 ; Improve documentation of VC commands in Dired
318084829c Eglot: adjust reference to completion frontends in manual
2a166c2dbd Eldoc: display documentation in visual-line-mode
aba60ad0c5 Eglot: prefer markdown-ts-view-mode for markup rendering ...
689c3bd508 Use 'read-multiple-choice' in 'markdown-ts-mode' (bug#81027)
71809ee5df Fix 'markdown-ts-code-span' face (bug#81026)
286833e401 Add read-only 'markdown-ts-view-mode' (bug#81023)
b39c123490 Fix strikethrough in 'markdown-ts-mode' (bug#80991)
0be998d4bc Fix code-span in headings in 'markdown-ts-mode' (bug#80979)
a00beb3a31 Make 'markdown-ts-inline-images' buffer local and test fo...
a0c05029fd * etc/NEWS: Mention new user option tramp-propagate-emacs...
2e71d2c709 Propagate EMACSCLIENT_TRAMP to remote hosts with Tramp
ff96db93f2 keyboard-tests.el: Try and fix the failure on EMBA
ce3098752c doc: Remove long obsolete references to `package-initialize`
9bc04b001a vc-next-action: Call vc-delete-file on FILESET-ONLY-FILES
13039e3442 ; touch-up last commit: copyright and comments
c2a24dcec8 ; update msys2 build helper for Emacs 31 & UCRT
3630baae72 hideshow: Support new 'margin' face for margin indicators...
20d17df3f4 Use the new 'margin' face in Flymake (bug#80693)
07f2bbc905 vc-dir-resynch-file: Pass down non-truename'd FILE
2026-05-16 07:24:17 -04:00
Corwin Brust 13039e3442 ; touch-up last commit: copyright and comments 2026-05-13 01:06:17 -05:00
Corwin Brust c2a24dcec8 ; update msys2 build helper for Emacs 31 & UCRT 2026-05-13 00:46:31 -05:00
Michael Albinus 5e0b4b96bc ; Adapt files in admin/notes for emacs-31 branch
* admin/notes/emba: Mention scheduled pipelines.

* admin/notes/git-workflow: Adapt for emacs-31 branch.
2026-05-08 10:47:26 +02:00
Sean Whitton 90f8f27a58 Merge from origin/emacs-31
8d0bf280a6 ; * ChangeLog.5: Some fixes and tidying up.
1ec79b48f3 ; Update exported ChangeLog files and etc/AUTHORS
991f6100eb ; * admin/make-tarball.txt: Suggest load-file, not require.
3c6c3f5a69 ; Fix two file headers misunderstood by authors.el.
2026-05-07 20:15:39 +01:00
Sean Whitton 1ec79b48f3 ; Update exported ChangeLog files and etc/AUTHORS
There are still unfixed problems in *Authors Errors*.

* ChangeLog.3: Fix typos.
* ChangeLog.5: Export from VCS history.
* Makefile.in: Update PREFERRED_BRANCH.
* admin/authors.el (authors-aliases, authors-ignored-files)
(authors-valid-file-names, authors-renamed-files-alist): Add
some entries.
* etc/AUTHORS: Regenerate.
2026-05-07 20:08:43 +01:00
Sean Whitton 991f6100eb ; * admin/make-tarball.txt: Suggest load-file, not require. 2026-05-07 20:04:26 +01:00
Sean Whitton ddde687b3f ; * admin/admin.el (set-version): Fix punctuation. 2026-05-07 17:46:57 +01:00
Michael Albinus cbc912ed63 ; * admin/notes/jargon: Add entries. 2026-05-04 16:08:43 +02:00
Michael Albinus 0848cbb326 * admin/notes/documentation: Recommend not using "it's". 2026-05-04 16:08:22 +02:00
Philip Kaludercic cb21b7d71f
Mark myself as maintainer of sgml-mode
* admin/MAINTAINERS: Update my entry.
* lisp/textmodes/sgml-mode.el: Update "Maintainer" header.
2026-05-02 10:24:34 +02:00
Sean Whitton 5147a78dd1 ; * admin/authors.el (authors-aliases): Add Aaron L. Zeng. 2026-04-26 11:19:30 +01:00
Eli Zaretskii d43aa7c6e2 ; Update admin/authors.el
* admin/authors.el (authors-aliases, authors-fixed-entries): Add
Ewan Townshend and his contribution.
2026-04-09 07:56:56 +03:00
Basil L. Contovounesios 7077633e67 Rename emacs-module.h.in -> emacs-module.in.h
* src/emacs-module.h.in: Rename...
* src/emacs-module.in.h: ...to this, for consistency with all other
lib/*.in.h files (bug#80428).
* Makefile.in (CONFIG_STATUS_FILES_IN):
* admin/release-branch.txt:
* src/emacs-module.c: All uses updated.
* admin/authors.el (authors-renamed-files-alist): Register rename.
* configure.ac: Specify non-default AC_CONFIG_FILES input file.
2026-03-14 15:08:15 +01:00
Eli Zaretskii cb583c737c ; * admin/authors.el (authors-aliases): Improve one entry. 2026-03-07 13:26:05 +02:00
Paul Eggert 381eb4985b Update from Gnulib by running admin/merge-gnulib
* admin/merge-gnulib (GNULIB_MODULES): Add memeq, streq and remove
stringeq, to adjust to a module splitup in Gnulib.
* lib/memeq.c, lib/streq.c, lib/strnul.c, m4/memeq.m4, m4/streq.m4:
New files.
* lib/string.c, m4/stringeq.m4: Remove.
2026-03-01 10:41:54 -08:00
Sean Whitton d78a1db462 New variable 'multiple-terminals-merge-keyboards'
* src/keyboard.c (syms_of_keyboard):
<multiple_terminals_merge_keyboards>: New variable.
(read_event_from_main_queue): Mention it in message.
* lisp/cus-start.el: Make it customizable.
* src/callint.c (Ffuncall_interactively):
* src/keyboard.c (Frecursive_edit):
* src/minibuf.c (read_minibuf): When its value is true, don't
enter single-kboard mode (bug#79892).
* admin/notes/multi-tty:
* etc/NEWS: Document it.
2026-02-28 20:54:56 +00:00
Paul Eggert aed1c8b536 Don’t stuff keyboard input uselessly
Also, document stuffing better.
* src/keyboard.c (stuff_buffered_input):
Give up on stuffing if it fails.
* src/sysdep.c (stuff_char): Return failure indication.
2026-02-28 09:09:22 -08:00
Sean Whitton 342e002c87 Show a message in locked frames in single-kboard mode
* src/keyboard.c (kbd_buffer_get_event): Pass the event's frame
up to the caller by means of a new 'struct frame **' argument.
(read_event_from_main_queue): Show a message in locked frames in
single-kboard mode (bug#79892).
* src/xdisp.c (log_message): Factor out of message3.
(message3): Call it.
(message3_nolog): Rename to ...
(message3_frame_nolog): ... this.  New 'struct frame *' argument
which causes temporarily switching to another frame when
displaying the message.
(message3_frame, message3_nolog): New functions.
* src/lisp.h: Declare message3_frame and message3_frame_nolog.
* admin/notes/multi-tty: Remove notes on showing a message.
2026-02-28 15:34:16 +00:00
Collin Funk 29440eedac Add SHA-3 support to secure-hash
* admin/merge-gnulib (GNULIB_MODULES): Add crypto/sha3-buffer.
* lib/sha3.c: New file, imported by running admin/merge-gnulib.
* lib/sha3.h: Likewise.
* m4/sha3.m4: Likewise.
* lib/gnulib.mk.in: Updated by admin/merge-gnulib.
* m4/gnulib-comp.m4: Likewise.
* src/fns.c: Include sha3.h
(Fsecure_hash_algorithms): Add Qsha3_224, Qsha3_256, Qsha3_384, and
Qsha3_512.
(secure_hash): Likewise.
(Fsecure_hash): List the SHA-3 algorithms in the docstring.
(syms_of_fns): Define Qsha3_224, Qsha3_256, Qsha3_384, and Qsha3_512.
* test/lisp/net/gnutls-tests.el (gnutls-tests-internal-macs-upcased):
Filter out the new SHA-3 algorithms since they are currently not
implemented in gnutls.
* test/src/fns-tests.el (test-secure-hash): Add test cases for the new
algorithms.
* doc/lispref/text.texi (Checksum/Hash): List the SHA-3 algorithms.
Mention that they are considered secure.
* etc/NEWS: Mention the new feature.
2026-02-23 00:22:17 -08:00
Paul Eggert 437b27046f Depend explicitly on Gnulib ‘attribute’ module
Problem reported by Basil L. Contovounesios (bug#80428#8).
* admin/merge-gnulib (GNULIB_MODULES): Add ‘attribute’.
2026-02-17 11:11:12 -08:00
Paul Eggert e847bcca0c Remove vla.h
Uses of <vla.h>’s macro VLA_ELEMS were removed some time ago.
* admin/merge-gnulib (GNULIB_MODULES): Remove vla.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/vla.h: Remove.
* src/fns.c, src/lread.c: Do not include <vla.h>.
2026-02-13 17:44:46 -08:00
Philip Kaludercic 1e6d4f827c
Merge branch 'feature/package-autosuggest' 2026-02-12 23:08:42 +01:00
Basil L. Contovounesios 80a52e118d ; List my areas of interest in maintaining. 2026-02-12 19:15:39 +01:00
Philip Kaludercic 0afb026a99
Generalize 'scrape-elpa--safe-evil'
* admin/scrape-elpa.el (scrape-elpa--safe-eval): Extend support
from just 'cons' and 'concat' to any side-effect-free function.
2026-02-11 20:47:26 +01:00
Philip Kaludercic 6dea509613
; Remove test code from previous commit 2026-02-09 21:17:19 +01:00
Philip Kaludercic 4a3640c3f8
Detect more package suggestions
* admin/scrape-elpa.el (scrape-elpa--safe-eval): Add new
function.
(scrape-elpa): Evaluate part of the matched expression to catch
more entries.
* etc/package-autosuggest.eld: Update database.
2026-02-09 21:12:21 +01:00
Philip Kaludercic 2cde30aa1b
Merge remote-tracking branch 'origin/master' into feature/package-autosuggest 2026-02-01 21:01:40 +01:00
Eli Zaretskii b75bfa219e ; * admin/authors.el (authors-aliases): Add Boris Buliga. 2026-01-31 13:13:57 +02:00
Po Lu 1bbc7d955a ; Update Android dependencies again 2026-01-29 11:25:57 +08:00
Po Lu f949d5ab62 ; Update Android dependencies 2026-01-29 11:20:48 +08:00
Philip Kaludercic e0c5cc70d2
Mention scrape-elpa.el file name in autosuggest database
* admin/scrape-elpa.el (scrape-elpa): Update the inserted comment.
2026-01-25 15:52:40 +01:00
Philip Kaludercic 3a3a9e21c1
Mark 'package-autosuggest-database' as private
* admin/scrape-elpa.el (scrape-elpa):
* etc/package-autosuggest.eld:
* lisp/emacs-lisp/package.el (package-autosuggest-database)
(package--autosuggest-suggested, package--suggestion-applies-p)
(package--autosuggest-find-candidates)
(package--autosuggest-install-and-enable): Rename constant name
to add double-dash.
2026-01-25 15:49:38 +01:00
Philip Kaludercic 5a53e27748
Merge branch 'feature/package-autosuggest' 2026-01-25 15:43:20 +01:00
Juri Linkov f33507111d ; Fix 'treesit-admin--unversioned-treesit-language-source-alist'
* admin/tree-sitter/treesit-admin.el
(treesit-admin--unversioned-treesit-language-source-alist):
Use the correct return value.
2026-01-19 09:39:00 +02:00
Philip Kaludercic cdb2ed9dae
; * admin/MAINTAINERS: Degrade my interest in Rcirc
I am not using it on a daily basis anymore, so I wouldn't mind
someone with more personal investment taking over.
2026-01-17 20:18:05 +01:00
USAMI Kenta a47430af62 ; Add admin/cl-lib-deps-report.el to audit cl-lib dependencies
This script helps identify redundant runtime dependencies on cl-lib
by auditing the usage of cl-lib macros and functions.

* admin/cl-lib-deps-report.el: New script.
* admin/README: Update.  (Bug#80129)
2026-01-17 15:25:10 +02:00
Eli Zaretskii 88d3101fdd ; Fix description of NS/GNUstep CPP conditions
* admin/CPP-DEFINES (NS_IMPL_GNUSTEP, NS_IMPL_COCOA): Fix
description (bug#80110).
2026-01-10 14:36:10 +02:00
Stefan Monnier ba7c2debef * admin/notes/elpa.md: Update to match current reality
* admin/notes/elpa: Rename to `elpa.md`.
* admin/notes/elpa.md: Rename from `elpa`, adjust to recently
changed repository location, mention the "new" NonGNU repository.
2026-01-07 10:55:11 -05:00
Sean Whitton c31f6adc31 ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
Eli Zaretskii c877c71739 ; * admin/MAINTAINERS: Add Elías Gabriel Pérez. 2025-12-30 15:14:30 +02:00
Sean Whitton c2a503c3d5 ; * admin/notes/repo: Don't contradict git-workflow about messages. 2025-12-29 15:19:26 +00:00
Stéphane Marks 94191686a7 ; Add myself as system-taskbar.el maintainer (bug#80088). 2025-12-28 20:05:05 +02:00
Eli Zaretskii ab7ed33f6d ; Sean Whitton stepped up as a co-maintainer
* admin/MAINTAINERS:
* doc/emacs/ack.texi (Acknowledgments): Add Sean Whitton.
2025-12-27 10:08:06 +02:00
Paul Eggert 481ad70d5c December 2025 spelling fixes
Some of the fixes are to continue to use American
rather than British spelling.
* doc/misc/modus-themes.org (my-modus-themes-engraved-faces):
Fix misspelled ‘:foreground’s.
* etc/themes/modus-themes.el (modus-themes-faces):
Fix misspelled ‘modus-themes-bold’.
* lisp/emacs-lisp/rx.el (rx--normalize-char-pattern):
Rename from rx--normalise-char-pattern.
(rx--optimize-or-args):	Rename from rx--optimise-or-args.
* lisp/frame.el (frame--special-parameters):
Fix misspelled "right-divider-width".
* lisp/net/tramp.el (tramp-fingerprint-prompt-regexp):
Use American spelling “centered”, to match current libfprintf.
* lisp/org/org-fold-core.el (org-fold-core--optimize-for-huge-buffers):
Rename from org-fold-core--optimise-for-huge-buffers.
(org-fold-core-update-optimization):
Rename from org-fold-core-update-optimisation,
leaving an alias behind.
(org-fold-core-remove-optimization):
Rename from org-fold-core-remove-optimisation,
leaving an alias behind.
* lisp/org/org.el (org-advertized-archive-subtree):
This alias is now obsolete.
* lisp/play/zone.el (zone-ignored-buffers):
Fix misspelling of ‘zone--buffer-encrypted-p’.
* lisp/progmodes/csharp-mode.el (csharp-ts-mode-faces):
Fix misspelling of ‘csharp’ group.
* lisp/vc/vc.el (vc-clonable-backends-custom-type):
Rename from vc-cloneable-backends-custom-type,
leaving an alias behind.
* test/lisp/emacs-lisp/bytecomp-tests.el:
(bytecomp-tests--warn-arity-non-compiled-callee):
Rename from bytecomp-tests--warn-arity-noncompiled-callee.
(bytecomp-test-defface-spec): Reword a deliberate misspelling
of “default” that is so common I don’t want it to pollute the
spelling dictionary.
* test/lisp/emacs-lisp/package-vc-tests.el:
(package-vc-tests-preserve-artifacts):
Rename from package-vc-tests-preserve-artifacts.
* test/lisp/eshell/em-prompt-tests.el:
(em-prompt-test/forward-backward-paragraph-1):
Reword a deliberate misspelling of “goodbye” that is so common I
don’t want it to pollute the spelling dictionary.
2025-12-26 10:22:12 -08:00
Eli Zaretskii b7f2ccac1e Merge from origin/emacs-30
948c4f7f64 ; * admin/authors.el (authors-aliases): Add Rudolf Adamko...
2025-12-13 05:43:15 -05:00
Eli Zaretskii 948c4f7f64 ; * admin/authors.el (authors-aliases): Add Rudolf Adamkovič (bug#79987). 2025-12-12 14:15:54 +02:00
Paul Eggert b211e5489b Update from Gnulib by running admin/merge-gnulib
* admin/merge-gnulib (AVOIDED_MODULES): Add strncpy, as Emacs is not
likely to exercise the FreeBSD 15 strncpy bug that this module fixes.
* lib/issymlinkat.h: New file, taken from Gnulib.
2025-12-07 15:45:20 -08:00
Michael Albinus 6d600f492a Add etc/NEWS style rules
* CONTRIBUTE (Documenting your changes):
Refer to admin/notes/documentation.

* admin/notes/documentation: Add etc/NEWS style rules.  (Bug#79851)
2025-11-25 09:33:17 +01:00
Eli Zaretskii 2fcf431c67 Merge from origin/emacs-30
e262ed18f9 ; * admin/notes/spelling: Copy note on possessive from CO...
2025-11-22 06:36:45 -05:00
Eli Zaretskii e2799739a5 ; * admin/authors.el (authors-aliases): Add Huang Jing. 2025-11-22 12:06:56 +02:00
Paul Eggert 918b9f04f4 Prefer C23 support if available
This merges in changes that were made to Autoconf master
in April 2024.  It causes ‘configure’ to prefer the C compiler to
enable C23 features if possible; otherwise, ‘configure’
behaves as before, using C11 if available and C99 if not.
* admin/merge-gnulib (GNULIB_MODULES): Add std-gnu23.
(AVOIDED_MODULES): Add (i.e., start avoiding) std-gnu11.
* m4/std-gnu11.m4: Remove.
* m4/std-gnu23.m4: Add.
2025-11-20 11:14:03 -08:00
Eli Zaretskii a1f36dc3b8 ; * admin/authors.el (authors-aliases): Update. 2025-11-19 17:32:21 +02:00
Sean Whitton e262ed18f9 ; * admin/notes/spelling: Copy note on possessive from CONTRIBUTE. 2025-11-18 15:04:58 +00:00
Robert Pluim a0c69d3d44 Support unqualified keycap emoji
* admin/unidata/emoji-zwj.awk: Add U+20E3 as a trigger codepoint
so that U+0023 U+20E3 and similar are displayed using the emoji
font.
2025-11-13 16:06:28 +01:00
Paul Eggert 7654ec5e95 Update from Gnulib by running admin/merge-gnulib
* admin/merge-gnulib (GNULIB_MODULES): Add stdio-windows.
Also, sort and remove duplicates.
2025-11-06 12:02:53 -08:00
Paul Eggert 59fbaca6b9 Update from Gnulib by running admin/merge-gnulib
* 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.
2025-11-04 13:32:58 -08:00
Yuan Fu bb491ff804
Fix treesit-admin.el after recent treesit.el change
* admin/tree-sitter/treesit-admin.el:
(treesit-admin--verify-major-mode-queries):
(treesit-admin--validate-mode-lang):
(treesit-admin--mode-languages): Use
treesit-font-lock-setting-language.
2025-10-23 21:46:14 -07:00
Eli Zaretskii b6a065c90d Merge from origin/emacs-30
159ad91d0d ; Add Richard Stallman to admin/MAINTAINERS.
2025-09-20 06:33:22 -04:00
Eli Zaretskii 159ad91d0d ; Add Richard Stallman to admin/MAINTAINERS. 2025-09-18 08:52:46 +03:00
Eli Zaretskii 6f9a46f926 Fix 'ucs-normalize' tests following Unciode 17.0 import
* lisp/international/ucs-normalize.el
(ucs-normalize-composition-exclusions): Doc fix.

* test/lisp/international/ucs-normalize-tests.el
(ucs-normalize-tests--failing-lines-part1): Update to _really_
match Unicode 17.0.

* admin/notes/unicode: Update instructions.
2025-09-14 07:34:41 +03:00
Eli Zaretskii fd5d35407a Fix Unicode-related tests
* test/lisp/international/mule-tests.el
(mule-cmds-tests--ucs-names-missing-names): Update no-name regions
of codepoints to Unicode 17.0.

* lisp/international/mule-cmds.el (ucs-names): Fix comments.

* admin/notes/unicode: Update instructions.
2025-09-13 17:52:30 +03:00
Eli Zaretskii 5579d32a41 Update to Unicode 17.0
* test/manual/BidiCharacterTest.txt:
* admin/unidata/BidiBrackets.txt:
* admin/unidata/BidiMirroring.txt:
* admin/unidata/Blocks.txt:
* admin/unidata/IVD_Sequences.txt:
* admin/unidata/IdnaMappingTable.txt:
* admin/unidata/NormalizationTest.txt:
* admin/unidata/PropertyValueAliases.txt:
* admin/unidata/ScriptExtensions.txt:
* admin/unidata/Scripts.txt:
* admin/unidata/SpecialCasing.txt:
* admin/unidata/UnicodeData.txt:
* admin/unidata/confusables.txt:
* admin/unidata/emoji-data.txt:
* admin/unidata/emoji-sequences.txt:
* admin/unidata/emoji-test.txt:
* admin/unidata/emoji-variation-sequences.txt:
* admin/unidata/emoji-zwj-sequences.txt: Import from Unicode 17.0.

* etc/NEWS:
* test/lisp/international/ucs-normalize-tests.el
(ucs-normalize-tests--failing-lines-part1)
(ucs-normalize-tests--failing-lines-part2):
* lisp/international/mule-cmds.el (ucs-names):
* lisp/international/fontset.el (script-representative-chars)
(otf-script-alist):
* lisp/international/characters.el:
* admin/unidata/blocks.awk: Update for Unicode 17.0.
2025-09-11 18:00:42 +03:00
Michael Albinus baf5908caa * admin/notes/jargon: Add RSN. 2025-09-07 09:00:45 +02:00
Eli Zaretskii af4a5e2b4a Merge from origin/emacs-30
3d2a818679 * doc/misc/efaq-w32.texi (UTF-8 encoding): New section (b...
ec50d775ac ; * doc/misc/flymake.texi (Finding diagnostics): Fix a ty...
293e258a1b * doc/emacs/screen.texi (Mode Line): Fix reference.
8eb192c23d ; * admin/make-tarball.txt: Update the "Web pages" sectio...
2025-08-30 07:18:37 -04:00
Juri Linkov 8d3554683f * lisp/treesit-x.el (treesit-generic-mode-font-lock-map): Extend.
Add more font-lock mappings based on existing settings in ts-modes.
2025-08-29 19:35:58 +03:00
Eli Zaretskii 8eb192c23d ; * admin/make-tarball.txt: Update the "Web pages" section (bug#79315). 2025-08-26 15:18:29 +03:00
Michael Albinus 64bb65c7d8 ; * admin/MAINTAINERS: Add myself for connection-local variables. 2025-08-22 14:08:26 +02:00
Eli Zaretskii 6571b632ed ; * admin/MAINTAINERS: Update entries for Dmitry and Spencer. 2025-08-22 09:57:28 +03:00
Michael Albinus 4cb84d3a78 Merge from origin/emacs-30
f8a206937c executable-interpret: Handle remote file names
c17168ebed ; * admin/make-tarball.txt: Fix typo and add details.
2025-08-16 13:35:50 +02:00
Michael Albinus ea1157f68f Merge from origin/emacs-30
8960e3af81 Update files for Emacs 30.2
ebeca61755 * admin/admin.el (set-version): Fix handling of official ...
2025-08-16 13:35:43 +02:00
Eli Zaretskii c17168ebed ; * admin/make-tarball.txt: Fix typo and add details. 2025-08-14 15:13:07 +03:00
Eli Zaretskii ebeca61755 * admin/admin.el (set-version): Fix handling of official releases. 2025-08-14 03:54:52 -04:00
Vincenzo Pupillo bd62f57efd 'php-ts-mode' depends on 'mhtml-ts-mode' instead of JS,CSS and HTML
The direct dependence on 'js-ts-mode', 'css-ts-mode' and
html-ts-mode has now been replaced by 'mhtml-ts-mode'.
Additional benefits are:
1. Imenu now exposes symbols for all of all languages,
2. navigation now works correctly for all languages,
3. outline works for all languages.

Additional new features are:
1. indentation of PHP in mixed buffers with HTML now works much
better and allows three different behaviors, an option allows you to
choose the behavior.
2. a new feature shows where PHP ini files are both locally and
remotely, if the buffer is associated with a remote PHP file.

* etc/NEWS: Mention the rationale for those changes, the new command,
and the new options.
* admin/tree-sitter/treesit-admin.el (treesit-admin--builtin-modes):
Added 'mhtml-ts-mode'.
(treesit-admin--builtin-features): Added 'mhtml-ts-mode'.
* lisp/textmodes/mhtml-ts-mode.el (mhtml-ts-mode--range-settings):
New variable that store range settings.
(mhtml-ts-mode--treesit-aggregated-outline-predicate): New variable
that stores outline predicates.
(mhtml-ts-mode): Use those two new variables.
* lisp/progmodes/php-ts-mode.el: Update doc string.  Removed old
dependecies.
(php-ts-mode--language-source-alist): Updated parsers version.
(php-ts-mode-install-parsers): Removed old dependencies, now relies
on mhtml-ts-mode-install-parsers'.  Update doc string.
(php-ts-mode-js-css-indent-offset): Update doc string.
(php-ts-mode-css-fontify-colors): Removed option, now relies on
'php-ts-mode-css-fontify-colors'.
(php-ts-mode-html-indent-offset): New user option.
(php-ts-mode-html-relative-indent): New user option.
(php-ts-mode-php-default-executable): Assume "php" instead of
"/usr/bin/php" if 'executable-find' fails.
(php-ts-mode-php-config): Fix tag.
(php-ts-mode-find-sibling-rules): New user option with the rules
for finding siblings of a file.
(php-ts-mode-phpdoc-highlight-errors): New user option, if non-nil
highlight unkown PHPDOC nodes.
(php-ts-mode--indent-style-setter): Indentation fix.
(php-ts-mode-indent-style): Indentation fix.
(php-ts-mode-flymake-php): Indentation fix.
(php-ts-mode--executable): Indentation fix.
(php-ts-mode-show-ini): New command that show the locations of PHP
ini files.
(php-ts-mode--get-indent-style): Indentation fix.
(php-ts-mode--set-indent-property): Indentation fix.
(php-ts-mode-set-style): Indentation fix.
(php-ts-mode--get-parser-ranges): Indentation fix.
(php-ts-mode--possibly-braceless-keyword-re): Removed no longer used
constant.
(php-ts-mode--open-statement-group-heuristic): Removed no longer used
function.
(php-ts-mode--else-heuristic): Indentation fix.
(php-ts-mode--first-sibling): Indentation fix.
(php-ts-mode--js-css-tag-bol): Function removed, now using
'mhtml-ts-mode--js-css-tag-bol'.
(php-ts-mode--parent-html-bol): Removed no longer used
function.
(php-ts-mode--parent-html-heuristic): Now more reliably handles the
mixed indentation of PHP and HTML. The new option
'php-ts-mode-html-relative-indent' changes the behavior of the
function. When 'php-ts-mode-html-relative-indent' is 't' the new
option 'php-ts-mode-html-indent-offset' controls the offset of PHP
code relative to HTML tags.
(php-ts-mode--array-element-heuristic): Indentation fix.
(php-ts-mode--anchor-prev-sibling): Indentation fix..
(php-ts-mode--indent-styles): The indentation rules for 'program' and
text_interpolation' are now common to all indentation styles, thanks
to the new version of 'php-ts-mode-arent-html-heuristic'.  New rules
for 'namespace_use_clause', 'use_declaration', 'use_list',
'attribute_group' and 'string_content'.
(php-ts-mode--prettify-symbols-alist): New variable to support
'prettify-symbols-alist'.
(php-ts-mode--test-visibility-modifier-operation-clause-p): Rename ...
(php-ts-mode--test-visibility-modifier-operation-p): ... to this more
correct name.
(php-ts-mode--test-property-hook-clause-p): Rename ...
(php-ts-mode--test-property-hook-p): ... to this more correct name.
(php-ts-mode--test-relative-name-p): New function to test if
'relative_name' is supported by the PHP parser.
(php-ts-mode--font-lock-settings): Use the new function for highlight
'relative_name'.  Highlight 'error_suppression_expression'.
Refactoring using the renamed functions.  Indentation fix.
(php-ts-mode--custom-html-font-lock-settings): Replace the rules with
'mhtml-ts-mode--treesit-font-lock-settings'.  Fix docs string.
(php-ts-mode--phpdoc-font-lock-settings): Added support for "array" and
"list" array_type.  New "phpdoc-error" feature to highlight unknown
nodes via new 'php-ts-mode--phpdoc-fontify-error' function.
(php-ts-mode--colorize-css-value): Removed function no longer used, now
highlighting is handled directly by 'mhtml-ts-mode'.
(php-ts-mode--phpdoc-fontify-error): New function used by
'php-ts-mode--phpdoc-font-lock-settings'.
(php-ts-mode--parent-object): Indentation fix.
(php-ts-mode--defun-name-separator): Indentation fix.
(php-ts-mode--defun-object-name): Indentation fix.
(php-ts-mode--defun-name): The function now also returns the defun name
of 'mhtml-ts-mode'.
(php-ts-mode--treesit-defun-type-regexp): New regexp for
'treesit-defun-type-regexp' support.
(php-ts-mode--indent-defun): Indentation fix.
(php-ts-mode--defun-valid-p): Fix indentation
(php-ts-mode--comment-indent-new-line): Indentation fix.
(php-ts-mode--comment-current-plist): New local variable that stores
the state of the PHP comment style.
(php-ts-mode--comment-setup): The function now handles changing, for
different languages, comment styles, using
"php-ts-mode--comment-current-plist" to store and retrieve the comment
style for the PHP language.
(php-ts-mode-comment-setup): Now store the PHP comment style in
'php-ts-mode--comment-current-plist'.
(php-ts-mode-menu): Indentation fix.
(php-ts-mode): Replace dependency from JS, CSS and HTML width
'mhtml-ts-mode'.  Navigation, Imenu and Outline now support PHP, HTML,
Javascript and CSS.  Added support for 'prettify-symbol-mode'.
Added support for 'electric-layout-rules'.
(php-ts-mode-run-php-webserver, php-ts-mode--webserver-read-args)
(php-ts-mode--webserver-read-args, inferior-php-ts-mode, run-php)
(inferior-php-ts-mode-startup, php-ts-mode-inferior--write-history)
(php-ts-mode-send-region): Indentation fixes.
* lisp/treesit.el (treesit-range-rules): Check if treesit is available
before compiling a query.
(treesit-ensure-installed): Check if treesit is available before trying
to ensure if a grammar library is installed.

(Bug#78994)
2025-08-10 18:30:03 +03:00
Eli Zaretskii d76fe5f31f Merge from origin/emacs-30
f2d3659cf5 Handle remote file names in cmuscheme.el
d1ab95b175 * lisp/vc/vc.el (vc-register): Fix interactive spec (bug#...
f58b738042 ; windows installer: set x64 registry keys (tiny change)
2025-08-09 09:33:20 -04:00
Eli Zaretskii e658ed0677 ; * admin/authors.el (authors-aliases): Update. 2025-08-07 17:39:52 +03:00
Alberto Santini f58b738042 ; windows installer: set x64 registry keys (tiny change)
* admin/nt/dist-build/emacs.nsi: set x64 registry keys
2025-08-04 21:55:29 -05:00
Paul Eggert 354f9ba754 Disable Gnulib’s non-Gregorian calendars
Prepare for the next Gnulib merge by disabling the optional
support for non-Gregorian calendars recently added to Gnulib’s
nstrftime module.  This would be tricky to integrate with Emacs,
as Emacs has its own (much fancier) calendar system, one that at
least for the Persian calendar sometimes disagrees with Gnulib’s,
and it’s likely not worth the trouble of reconciling the conflicts.
* src/conf_post.h (SUPPORT_NON_GREG_CALENDARS_IN_STRFTIME):
New macro, defined to false.
* admin/merge-gnulib (GNULIB_MODULES): nstrftime → nstrftime-limited.
(AVOIDED_MODULES): Add localcharset.
Near the end, also remove the files lib/calendar-ethiopian.h,
lib/calendar-persian.h, lib/calendar-thai.h, lib/calendars.h.
2025-07-29 15:06:13 -07:00
Michael Albinus 18ff84df0c * admin/notes/jargon: Add TIL. 2025-07-10 17:25:11 +02:00
Stefan Monnier 549232e2e4 Revert "admin/gitmerge.el (gitmerge-resolve): Use replace-region-contents"
This reverts commit 17d976e22e
because the change is not worth the risk.
2025-07-01 09:24:19 -04:00
Stefan Monnier 17d976e22e admin/gitmerge.el (gitmerge-resolve): Use replace-region-contents 2025-06-30 00:37:15 -04:00
Peter Oliver 438a4cf673 Link to Tree-sitter parser sources from compatibility report
* admin/tree-sitter/treesit-admin.el
(treesit-admin--generate-compatibility-report): Add a link to the source
URL (bug#78848).
2025-06-23 09:47:36 +03:00
Peter Oliver 96858b9ced Show also tagged versions on Tree-sitter compatibility report
* admin/tree-sitter/compat-template.html: Accommodate two tables.
* admin/tree-sitter/treesit-admin.el
(treesit-admin--find-latest-compatible-revision): Pass through new arg
REVISION-TYPE.
(treesit-admin--last-compatible-grammar-for-modes): Optionally iterate
over tagged rather than all commits.
(treesit-admin--generate-compatibility-report): Generate a second table,
showing only tagged commits (bug#78848).
2025-06-23 09:47:34 +03:00
Juri Linkov 1a76b527ac Use keyword :commit with full hashes for treesit-language-source-alist.
* lisp/treesit.el (treesit-language-source-alist):
Document the format that uses keywords.
(treesit--install-language-grammar-1): Remove args
'revision', 'source-dir', 'cc', 'c++', 'commit'.
Use 'args' to process the keywords, and use the remaining
list as the previous list of arguments.
(treesit--install-language-grammar-1): Let-bind
'treesit--install-language-grammar-full-clone' and
'treesit--install-language-grammar-blobless' to t
when 'commit' is non-nil (bug#78542).

* lisp/progmodes/c-ts-mode.el:
* lisp/progmodes/cmake-ts-mode.el:
* lisp/progmodes/csharp-mode.el:
* lisp/progmodes/dockerfile-ts-mode.el:
* lisp/progmodes/elixir-ts-mode.el:
* lisp/progmodes/go-ts-mode.el:
* lisp/progmodes/heex-ts-mode.el:
* lisp/progmodes/java-ts-mode.el:
* lisp/progmodes/js.el:
* lisp/progmodes/json-ts-mode.el:
* lisp/progmodes/php-ts-mode.el:
* lisp/progmodes/python.el:
* lisp/progmodes/ruby-ts-mode.el:
* lisp/progmodes/rust-ts-mode.el:
* lisp/progmodes/sh-script.el:
* lisp/progmodes/typescript-ts-mode.el:
* lisp/textmodes/css-mode.el:
* lisp/textmodes/html-ts-mode.el:
* lisp/textmodes/markdown-ts-mode.el:
* lisp/textmodes/toml-ts-mode.el:
* lisp/textmodes/yaml-ts-mode.el:
Use the keyword :commit with full hashes instead of tags
in 'treesit-language-source-alist'.

* lisp/treesit-x.el (define-treesit-generic-mode):
Simplify the keyword :copy-queries.
(gitattributes-generic-ts-mode, liquid-generic-ts-mode):
Add keywords :commit and :copy-queries to :source.

* admin/tree-sitter/treesit-admin.el
(treesit-admin--unversioned-treesit-language-source-alist):
Handle :revision and :commit as well.
(treesit-admin--find-latest-compatible-revision):
Process the keywords in the recipe.
2025-06-20 19:58:28 +03:00
Peter Oliver 6181e0cec5 Eliminate redundant variable treesit-admin--builtin-language-sources
Nowadays, each mode populates treesit-language-source-alist when the
mode is required; we do not need to duplicate the information.

* admin/tree-sitter/treesit-admin.el
(treesit-admin--builtin-language-sources)
(treesit-admin-verify-major-mode-queries)
(treesit-admin--generate-compatibility-report): Eliminate variable
treesit-admin--builtin-language-sources.
(treesit-admin--generate-compatibility-report): bash-ts-mode is “clever”
and switches back to sh-mode if it thinks the current buffer does not
contain a Bash script (bug#78747).
(treesit-admin--builtin-modes): Add missing modes.
(treesit-admin--builtin-features): New variable, telling us which
features to require to populate treesit-language-source-alist.
(treesit-admin--populated-treesit-language-source-alist): New function,
to add everything we know to treesit-language-source-alist.
(treesit-admin--unversioned-treesit-language-source-alist): Return a
copy of treesit-language-source-alist with the version requirements
removed.
* test/infra/Dockerfile.emba: Make use of
treesit-admin--populated-treesit-language-source-alist (bug#78748).
2025-06-19 19:28:21 +03:00
Eli Zaretskii 564a8da53e ; * admin/MAINTAINERS: Fix whitespace. 2025-06-19 08:02:15 +03:00
shipmints 2de157f993 * admin/MAINTAINERS: Added myself as the vtable.el maintainer. 2025-06-19 08:00:57 +03:00
Michael Albinus f1766fd2b3 Improve emba integration
* admin/notes/emba: Mention generated compatibility-report.html.

* test/infra/Dockerfile.emba (emacs-base): Install man-db.
(emacs-inotify): Don't install clangd.
(emacs-eglot): Derive from debian:trixie.  Install rust-analyzer.

* test/infra/gitlab-ci.yml (.job-template): Make actions in
after_script more robust.
2025-06-08 15:47:44 +02:00
Paul Eggert c9c6abfa81 Update from Gnulib by running admin/merge-gnulib
The following changes were made by hand,
so that admin/merge-gnulib could succeed
instead of failing because the diff didn’t match.
* admin/gnulib-patches/lib/getloadavg.c.diff:
Remove, as it is no longer needed now that recent
Gnulib has been merged.
* admin/merge-gnulib (GNULIB_TOOL_FLAGS):
Remove the --local-dir="$src"admin/gnulib-patches option,
as it is no longer needed either.
2025-05-08 00:16:46 -07:00
Po Lu d87cde3177 Merge from savannah/emacs-30
b5967dda32 ; * doc/misc/ert.texi (Introduction): Be more Lisp-specific.
be4819bd57 Include additional version metadata during Windows install
2025-04-27 21:09:29 +08:00
Sean Bright be4819bd57 Include additional version metadata during Windows install
* admin/nt/dist-build/emacs.nsi: Add DisplayIcon, DisplayVersion, and
  Publisher values to the Uninstall registry key.

Copyright-paperwork-exempt: yes
2025-04-26 14:21:21 -05:00
Juri Linkov add8bf000a Replace some 'treesit-query-compile' with 'treesit-query-valid-p'.
* admin/tree-sitter/treesit-admin.el
(treesit-admin--verify-major-mode-queries)
(treesit-admin--validate-mode-lang):
* lisp/progmodes/csharp-mode.el
(csharp-ts-mode--test-this-expression)
(csharp-ts-mode--test-interpolated-string-text)
(csharp-ts-mode--test-string-content)
(csharp-ts-mode--test-type-constraint)
(csharp-ts-mode--test-type-of-expression)
(csharp-ts-mode--test-typeof-expression)
(csharp-ts-mode--test-name-equals)
(csharp-ts-mode--test-if-directive)
(csharp-ts-mode--test-method-declaration-type-field):
* lisp/progmodes/php-ts-mode.el
(php-ts-mode--test-namespace-name-as-prefix-p)
(php-ts-mode--test-namespace-aliasing-clause-p)
(php-ts-mode--test-namespace-use-group-clause-p)
(php-ts-mode--test-visibility-modifier-operation-clause-p)
(php-ts-mode--test-property-hook-clause-p):
* lisp/progmodes/typescript-ts-mode.el
(tsx-ts-mode--font-lock-compatibility-bb1f97b):
Use the newer equivalent 'treesit-query-valid-p'
instead of 'treesit-query-compile' with 'ignore-errors'.
2025-04-22 21:01:28 +03:00
Po Lu a84a934a44 Render lib/getloadavg.c patches more permanent
* admin/gnulib-patches/lib/getloadavg.c.diff: New file.

* admin/merge-gnulib (GNULIB_TOOL_FLAGS): Set --local-dir to
admin/gnulib-patches.

* lib/gnulib.mk.in: Update from Gnulib.
2025-04-21 09:37:59 +08:00
Paul Eggert 30335bb734 Don’t use Gnulib’s locale-h module
* admin/merge-gnulib (AVOIDED_MODULES):
Add locale-h, as Emacs should’t need this Gnulib module.
This change is needed for when we next run admin/merge-gnulib,
as some Gnulib dependencies changed recently.
2025-04-19 19:31:25 -07:00
Yuan Fu e7ca83a2f4
Merge from savannah/emacs-30
01d4eb3dd4 ; Improve doc string of 'insert-char'
93ad8407ed * admin/notes/emba: Fix docker build instruction.
b901290ae7 * doc/lispref/text.texi (Margins): Grammar fix.
16855c89dd Merge branch 'emacs-30' of git.savannah.gnu.org:/srv/git/...
8792d3431b Backport: Fix tree-sitter tests on Emba

# Conflicts:
#	test/infra/Dockerfile.emba
2025-04-18 16:30:39 -07:00
Juri Linkov 3d3be6dd0e Lock tree-sitter language grammars to verified versions.
* admin/notes/tree-sitter/build-module/build.sh:
Update org for toml/yaml.

* admin/tree-sitter/treesit-admin.el
(treesit-admin--builtin-language-sources):
Add verified versions.

* lisp/progmodes/c-ts-mode.el:
Append language source to treesit-language-source-alist.
(c-ts-mode, c++-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/cmake-ts-mode.el:
Append language source to treesit-language-source-alist.
(cmake-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/csharp-mode.el:
Append language source to treesit-language-source-alist.
(csharp-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/dockerfile-ts-mode.el:
Append language source to treesit-language-source-alist.
(dockerfile-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/elixir-ts-mode.el:
Append language source to treesit-language-source-alist.
(elixir-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/go-ts-mode.el:
Append language source to treesit-language-source-alist.
(go-ts-mode, go-mod-ts-mode, go-work-ts-mode):
Use treesit-ensure-installed.

* lisp/progmodes/heex-ts-mode.el:
Append language source to treesit-language-source-alist.
(heex-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/java-ts-mode.el:
Append language source to treesit-language-source-alist.
(java-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/js.el:
Append language source to treesit-language-source-alist.
(js-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/json-ts-mode.el:
Append language source to treesit-language-source-alist.
(json-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/lua-ts-mode.el:
Append language source to treesit-language-source-alist.
(lua-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/php-ts-mode.el
(php-ts-mode--language-source-alist):
Update versions from comments in ts-modes.
Append to treesit-language-source-alist.
(php-ts-mode-install-parsers):
Use treesit-language-source-alist directly.
(php-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/ruby-ts-mode.el:
Append language source to treesit-language-source-alist.
(ruby-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/rust-ts-mode.el:
Append language source to treesit-language-source-alist.
(rust-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/sh-script.el:
Append language source to treesit-language-source-alist.
(bash-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/typescript-ts-mode.el:
Append language source to treesit-language-source-alist.
(typescript-ts-mode, tsx-ts-mode): Use treesit-ensure-installed.

* lisp/textmodes/css-mode.el:
Append language source to treesit-language-source-alist.
(css-ts-mode): Use treesit-ensure-installed.

* lisp/textmodes/html-ts-mode.el:
Append language source to treesit-language-source-alist.
(html-ts-mode): Use treesit-ensure-installed.

* lisp/textmodes/markdown-ts-mode.el:
Append language source to treesit-language-source-alist.
(markdown-ts-mode): Use treesit-ensure-installed.

* lisp/textmodes/mhtml-ts-mode.el
(mhtml-ts-mode--language-source-alist):
Append to treesit-language-source-alist.
(mhtml-ts-mode-install-parsers):
Use treesit-language-source-alist directly.
(mhtml-ts-mode): Use treesit-ensure-installed.

* lisp/textmodes/toml-ts-mode.el:
Append language source to treesit-language-source-alist.
(toml-ts-mode): Use treesit-ensure-installed.

* lisp/textmodes/yaml-ts-mode.el:
Append language source to treesit-language-source-alist.
(yaml-ts-mode): Use treesit-ensure-installed.

* test/infra/Dockerfile.emba: Add verified versions
to treesit-language-source-alist.
2025-04-18 19:22:50 +03:00