Commit graph

174856 commits

Author SHA1 Message Date
Spencer Baugh
7c767ec781 Update completion-styles defcustom for variable overrides
In 69ec333eab I allowed
completion-styles to contain a list of bindings.  Now the
'defcustom' type also supports this.
Since the type is somewhat unusual (a value in the list can be
either a symbol or a list) I had to add a new widget to support
it.
* lisp/minibuffer.el (completion--styles-type): Update to allow
setting variable overrides.
(completion-styles, completion-category-overrides)
(completion-pcm-leading-wildcard): Update :version.

* lisp/wid-edit.el (widget-single-or-list-to-internal)
(single-or-list): Add.
2024-09-14 11:45:51 +03:00
Yuan Fu
3cad7cc8dc
Set treesit-primary-parser for c and elixir ts mode
For buffers with multiple parsers, it's important to set this variable
so font-lock invalidation works smoothly.

* lisp/progmodes/c-ts-mode.el (c-ts-mode): Set treesit-primary-parser.
* lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode): Set
treesit-primary-parser.
2024-09-14 00:46:05 -07:00
Yuan Fu
2f243fb91d
; Minor doc fix in treesit.el
* lisp/treesit.el (treesit-outline-search): Mention parameters.
(treesit-major-mode-setup): Mention outline setup.
2024-09-14 00:28:23 -07:00
Yuan Fu
6a6d7925c9
Fix range handling so it works for multibyte buffer (bug#73204)
Here by multibyte buffer I mean buffer that includes non-ASCII
characters.

The problem is illustrated by this comment, which I copied from the
source:

======================================================================
(ref:bytepos-range-pitfall) Suppose we have the following buffer
content ([ ] is a unibyte char, [    ] is a multibyte char):

    [a][b][c][d][e][ f  ]

and the following ranges (denoted by braces):

    [a][b][c][d][e][ f  ]
    {       }{    }

So far so good, now user deletes a unibyte char at the beginning:

    [b][c][d][e][ f  ]
    {       }{    }

Oops, now our range cuts into the multibyte char, bad!
======================================================================

* src/treesit.c (treesit_debug_print_parser_list): Minor fix.
(treesit_sync_visible_region): Change the way we fixup ranges, instead
of using the bytepos ranges from tree-sitter, we use the cached lisp
charpos ranges.
(treesit_make_ts_ranges): New function.
(Ftreesit_parser_set_included_ranges): Refactor out the new function
treesit_make_ts_ranges.
(Ftreesit_parser_included_ranges): Rather than getting the ranges from
tree-sitter, just return the cached lisp ranges.

* src/treesit.h (Lisp_TS_Parser): Add some comment.
* test/src/treesit-tests.el (treesit-range-fixup-after-edit): New test.
2024-09-14 00:28:23 -07:00
Yuan Fu
76faf7e609
Revert "Read more on each call to treesit's buffer reader"
This reverts commit bf23382f1f.

We move around the gap, narrow regions, ralloc, etc, and don't have a
way to invalidate previously given range.  So tree-sitter can't be given
the full range.
2024-09-14 00:28:23 -07:00
Yuan Fu
c70bd0e3fe
Fix tree-sitter indent preset prev-adaptive-prefix
* lisp/treesit.el (treesit-simple-indent-presets): Use looking-at so the
call to match-string has the match data to work with.
2024-09-14 00:28:22 -07:00
Michael Albinus
0d07bc1a2d * lisp/net/tramp.el (tramp-wait-for-regexp): Deactivate (sit-for 0.005). 2024-09-14 08:57:19 +02:00
Eli Zaretskii
272df33fb8 ; * CONTRIBUTE: Minor copyedits. 2024-09-14 09:52:59 +03:00
Stefan Kangas
f3bb84e53b * etc/symbol-releases.eld: Fix URL. 2024-09-14 00:51:12 +02:00
Robert Pluim
ece47e5a21 Use stable URLs for files imported from Unicode
* admin/notes/unicode: Point people at "admin/unidata/README" for URLs
for Unicode files.
* admin/unidata/README: Use stable URLs for the various files.  Remove
dates, the files self-describe their dates anyway.
2024-09-13 17:08:51 +02:00
Robert Pluim
8e1187e336 Improve NEWS entries
* etc/NEWS: Fix typos, and add information about default values of new
  user options.
2024-09-13 15:42:39 +02:00
Robert Pluim
48d2d616f7 ; * etc/NEWS: Improve 'dired-check-symlinks' entry. 2024-09-13 14:07:17 +02:00
Robert Pluim
b486390862 Add notes about documenting default values
* CONTRIBUTE: Ask people to document default values when adding new user
  options.
2024-09-13 14:07:17 +02:00
Eli Zaretskii
7376623a24 Improve accuracy of character categories
* lisp/international/characters.el: Assign 'digit' category to all
the characters whose Unicode 'general-category' is Nd.

* admin/unidata/blocks.awk: Add code to assign 'symbol' category
to all characters belonging to the 'symbol' script.

* etc/NEWS: Announce the above changes
2024-09-13 14:31:28 +03:00
Mattias Engdegård
ca3932121a Don't fail uniquify-tests in non-version-controlled source trees
* test/lisp/uniquify-tests.el (uniquify-project-transform):
Skip test if there is no project (bug#73205).
2024-09-13 12:17:17 +02:00
Robert Pluim
79f68597ab ; * etc/ORG-NEWS: Fix typo. 2024-09-13 09:50:01 +02:00
Stefan Kangas
d66b70f360 * doc/misc/auth.texi: Minor copy edits. 2024-09-13 00:18:37 +02:00
Stefan Kangas
2c6b7b2da9 ; * admin/MAINTAINERS: Remove some entries for Artur Malabarba.
Change agreed with Artur Malabarba <arturmalabarba@gmail.com>.
2024-09-12 23:01:08 +02:00
Eli Zaretskii
04e8ad6489 Update Emacs sources for Unicode 16.0
* lisp/international/ucs-normalize.el (check-range): Update ranges
of character codes with decompositions.
* lisp/international/mule-cmds.el (ucs-names): Update unused
ranges.
* lisp/international/fontset.el (script-representative-chars)
(otf-script-alist, setup-default-fontset): Add new scripts.
* lisp/international/characters.el:
* admin/unidata/blocks.awk:
* test/manual/BidiCharacterTest.txt:
* test/lisp/international/ucs-normalize-tests.el
(ucs-normalize-tests--failing-lines-part2): Update for Unicode
16.0.

* etc/NEWS: Announce support for Unicode 16.0.
2024-09-12 21:12:09 +03:00
Eli Zaretskii
5e16d84689 Import updated Unicode files from Unicode 16.0
* admin/unidata/BidiBrackets.txt:
* admin/unidata/BidiMirroring.txt:
* admin/unidata/Blocks.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/copyright.html:
* 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: Update from Unicode 16.0
2024-09-12 17:25:36 +03:00
Manuel Giraud
31e8500b06 Human readable last display time of killed buffer
* lisp/midnight.el (clean-buffer-list): Upon killing a buffer,
add a human readable last displayed information.  (Bug#73150)
2024-09-12 12:30:36 +03:00
Manuel Giraud
06de3ae412 Simple typo in `clean-buffer-list'
* lisp/midnight.el (clean-buffer-list): `delay' is always an
integer here.  (Bug#73144)
2024-09-12 12:28:06 +03:00
Eli Zaretskii
ddd3752b94 ; * doc/emacs/dired.texi (Misc Dired Features): Fix wording. 2024-09-12 12:26:44 +03:00
Yuan Fu
2a75693f24
Add Ftreesit_grammar_location
* src/treesit.c (treesit_loaded_lang): New struct.
(treesit_load_language): Return a struct instead of just the language
object.  The struct contains both the language object and the path to
the shared library.
(Ftreesit_language_available_p, Ftreesit_language_abi_version)
(treesit_ensure_query_compiled, Ftreesit_parser_create): Update
call of treesit_load_language.
(Ftreesit_grammar_location): New function.
2024-09-12 01:04:11 -07:00
Po Lu
11e7ae3964 Fix bug#72254
* src/pgtkselect.c (Fpgtk_get_selection_internal): If requesting
TARGETS with just one result, return it as a vector.
(bug#72254)
2024-09-12 08:23:13 +08:00
Andrea Corallo
9a1c76bf7f Bump Emacs version to 30.0.91
* nt/README.W32: Update Emacs version.
* msdos/sed2v2.inp: Likewise.
* exec/configure.ac: Likewise.
* configure.ac: Likewise.
* README: Likewise.
2024-09-11 22:14:09 +02:00
Andrea Corallo
68530860ae ; * ChangeLog.4: Update. 2024-09-11 21:52:56 +02:00
Andrea Corallo
fb1db366b9 ; * etc/AUTHORS: Update. 2024-09-11 21:49:52 +02:00
Michael Albinus
f283144658 Allow to disable symbolic links check in Dired
* doc/emacs/dired.texi (Misc Dired Features):
* doc/misc/tramp.texi (Frequently Asked Questions):
Explain dired-check-symlinks.

* etc/NEWS: Describe dired-check-symlinks.
Fix typos.

* lisp/dired.el (dired-check-symlinks): New defcustom.
(dired-font-lock-keywords): Use it.  (Bug#73046)
2024-09-11 17:42:24 +02:00
Paul Nelson
833158c0b7 Add Ediff feature for copying all differences
* lisp/vc/ediff-util.el (ediff-diff-to-diff): With universal
prefix, copy all differences.

* doc/misc/ediff.texi (Quick Help Commands): Document the new feature.
* etc/NEWS: Announce the new feature.

(Bug#72866)
2024-09-11 10:44:25 +02:00
Martin Rudalics
fc3a7f4529 For minibuffer windows record minibuffers only (Bug#72487)
* src/minibuf.c (zip_minibuffer_stacks): Use wset type
functions.  Call 'record-window-buffer' instead of
'push-window-buffer-onto-prev' to handle all sorts of buffers
shown in minibuffer windows in a uniform way.
(read_minibuf): Call 'record-window-buffer' instead of
'push-window-buffer-onto-prev' for same reason as previous.
* lisp/calculator.el (calculator-update-display)
(calculator-save-and-quit): Make sure calculator buffer is live
before operating on it.
* lisp/window.el (record-window-buffer): Handle case where
WINDOW is a minibuffer window: Unconditionally remove WINDOW's
buffer from WINDOW's list of previous buffers and push it if
and only if it is a live minibuffer (Bug#72487).  Do not run
'buffer-list-update-hook' if WINDOW is a minibuffer window.
(push-window-buffer-onto-prev): Make it an alias of
'record-window-buffer' so it will run the latter's checks.
(replace-buffer-in-windows): Handle minibuffer windows and
rewrite doc-string accordingly.
* doc/lispref/windows.texi (Buffers and Windows): Explain
handling of minibuffer windows in 'replace-buffer-in-windows'.
2024-09-11 10:36:14 +02:00
Robert Pluim
74ea24233c ; * test/lisp/gnus/gnus-icalendar-tests.el: remove unneeded unwind-protect 2024-09-11 10:04:24 +02:00
fpi
8332b4dd07 Allow comments to organizer in icalendar event replies (Bug#72831)
* lisp/gnus/gnus-icalendar.el
(gnus-icalendar-event--build-reply-event-body): Add optional COMMENT
argument to be inserted into the reply.
(gnus-icalendar-event-reply-from-buffer): Add COMMENT argument to be
passed through to gnus-icalendar-event--build-reply-event-body
(gnus-icalendar-reply-accept, gnus-icalendar-reply-tentative,
gnus-icalendar-reply-decline): If interactively called with a prefix
argument ask user for a COMMENT to add to the reply.

* test/lisp/gnus/gnus-icalendar-tests.el
(gnus-icalendar-accept-with-comment,
gnus-icalendar-decline-without-changing-comment): New tests.
2024-09-11 10:04:23 +02:00
Po Lu
69e1aca041 ; * exec/configure.ac: Update version. 2024-09-11 13:26:17 +08:00
Po Lu
a139c3d6d8 * src/treesit.h (struct Lisp_TS_Parser): Correct merge error. 2024-09-11 13:25:48 +08:00
Po Lu
76487b7454 Merge from savannah/emacs-30
ee3e3a6311 ; Update version number of exec/configure.ac
c5925b6ba5 Fix heex-ts-mode indentation following previews elixir-mo...
c3383be5f0 ; * admin/make-tarball.txt: Improve last change.
8ddb54117f ; * admin/make-tarball.txt: Remove now unnecessary config...
7e194d33f9 * lisp/ldefs-boot.el: Update.
9019536ea6 Fix use of Uniscribe font driver in MinGW build
5c55c860db Avoid crashes in redisplay in batch-mode testing
ba2190e1ae ; * etc/NEWS: Fix indentation.
818c0cc9a5 eglot-test-rust-completion-exit-function: Fix failure in ...
f47297782b ; * doc/lispref/searching.texi (Rx Notation): Simplify rx...
03e5698167 Clarify the semantics of 'string-pixel-width'
9f0603207b ; * src/treesit.c: Minor cleanups of recent changes.
e0d3f74395 * src/treesit.c (treesit_debug_print_parser_list): Fix fo...
bed38ded73 ; * src/treesit.c (treesit_debug_print_parser_list): Fix ...
18c6487dbd ; * src/treesit.c: Add a prototype so there's no warning ...
bf23382f1f Read more on each call to treesit's buffer reader
3435464452 Fix the range handling in treesit.c
3fcec09f75 Add debugging function for treesit.c
0fd259d166 Fix elixir-ts-mode's range query
2329b36b1f ; project-files-relative-names: Update docstring (bug#72701)
e55e2e1c6b Make json-serialize always return a unibyte string (bug#7...
89c99891b2 ; * doc/lispref/os.texi (Suspending Emacs): Fix last change.
4f044d0d3d ; Improve documentation of 'suspend-emacs'
2024-09-11 13:21:58 +08:00
Po Lu
ee3e3a6311 ; Update version number of exec/configure.ac
* admin/admin.el (set-version): Update AC_INIT expansion in
exec/configure.ac.

* exec/configure.ac: Update version to 30.0.90.
2024-09-11 13:18:35 +08:00
Yuan Fu
c5925b6ba5
Fix heex-ts-mode indentation following previews elixir-mode change
After the previous fix in elixir-ts-mode (0fd259d166), embedded heex
code are indented like this:

1 defmodule Foo do
2   def foo(assigns) do
3     ~H"""
4 <span>
5   text
6 </span>
7     """
8   end
9 end

The indent rule finds the beginning of the parent heex node, and uses
the indentation of that line as anchor with an offset of 0.  Previously
the parent heex node (fragment) starts at EOL of line 3; after the
previous commit, it now starts at BOL of line 4.  To fix the
indentation, I changed the anchor to the beginning of the elixir
(rather than heex) node at point, which is at EOL at line 3.

* lisp/progmodes/heex-ts-mode.el (heex-ts--indent-rules): Use the elixir
node that contains the heex code as the anchor, instead of the heex root
node.
2024-09-10 20:07:20 -07:00
Andrea Corallo
c3383be5f0 ; * admin/make-tarball.txt: Improve last change. 2024-09-11 00:44:11 +02:00
Andrea Corallo
8ddb54117f ; * admin/make-tarball.txt: Remove now unnecessary configure flag. 2024-09-11 00:41:17 +02:00
Andrea Corallo
7e194d33f9 * lisp/ldefs-boot.el: Update. 2024-09-10 23:39:34 +02:00
Eli Zaretskii
9019536ea6 Fix use of Uniscribe font driver in MinGW build
This was inadvertently broken when Windows 9X support was
fixed in June 2024.
* src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper): Set
'uniscribe_available' non-zero in non-Cygwin builds.  (Bug#73159)
2024-09-10 15:14:47 +03:00
Eli Zaretskii
5c55c860db Avoid crashes in redisplay in batch-mode testing
* src/xdisp.c (try_window_id): Don't crash for "initial" frame.
(Bug#72765)
2024-09-10 14:43:52 +03:00
Michael Albinus
652a8a0838 Avoid 100% CPU load in Tramp
* lisp/net/tramp.el (tramp-wait-for-regexp): Add (sit-for 0.005)
prior calling `tramp-accept-process-output'.  This avoids 100% CPU
load.  (Bug#73046)
2024-09-10 10:04:01 +02:00
Michael Albinus
ba2190e1ae ; * etc/NEWS: Fix indentation. 2024-09-10 09:24:33 +02:00
Dmitry Gutov
818c0cc9a5 eglot-test-rust-completion-exit-function: Fix failure in -Q session
* test/lisp/progmodes/eglot-tests.el (eglot--call-with-fixture):
Check for buffer liveness (https://debbugs.gnu.org/72765#29).
(eglot-test-rust-completion-exit-function): Don't expect snippet
expansion to happen (no yasnippet in batch mode).
2024-09-10 04:36:34 +03:00
Juri Linkov
24c4bc108d * src/xdisp.c (note_tab_bar_highlight): Remove fallback for help_echo_string.
Don't use TAB_BAR_ITEM_CAPTION as the default value
when TAB_BAR_ITEM_HELP is not specified (bug#73050).
2024-09-09 21:33:10 +03:00
Eshel Yaron
466db35877
; Revise new command 'project-find-file-in-root'
* lisp/progmodes/project.el (project-find-file-in-root):
Call 'find-file' directly, not via 'call-interactively'.
Move interactive behavior to 'interactive' spec.
2024-09-09 19:43:21 +02:00
Michael Albinus
7d7aa65f63 ; Fix last change 2024-09-09 15:35:55 +02:00
Michael Albinus
d33d8c089b Silence compiler error
* lisp/net/tramp.el (tramp-file-name*): Embed `function-put' calls
with `tramp--with-startup'.
(tramp-active-command-completion-p)
* lisp/net/tramp-cache.el (tramp-get-hash-table): Remove declare
form.  Add `tramp-suppress-trace' function property.
2024-09-09 15:22:35 +02:00