* doc/lispref/commands.texi (Misc Events): Document variable
`disable-inhibit-text-conversion'.
* java/org/gnu/emacs/EmacsDialog.java (display1): Try an
activity that is certain to be focused first.
* lisp/touch-screen.el (touch-screen-track-tap)
(touch-screen-track-drag): Bind
`disable-inhibit-text-conversion'.
* src/keyboard.c (read_key_sequence): Only disable text
conversion if an actual function or numeric key is found in the
key sequence.
(syms_of_keyboard): New variable
`disable-inhibit-text-conversion'.
* src/lread.c (read_filtered_event): Check new variable.
* src/textconv.c (textconv_query): Remove unused label.
4b6f2a7028 * lisp/progmodes/xref.el: Bump the version.
24c8b146bb * lisp/progmodes/xref.el (xref--xref-buffer-mode): Split ...
46f9e53c3d Fix import of keys in buffer created by epa-search-keys
36ade0704e Fix connection-local variables settings
e759905d2e ; Minor copyedits in EGLOT-NEWS
ba22a2c346 Bump Eglot version to 1.12
54e123a505 Update Eglot's manual about eglot-workspace-configuration
812597f864 ; * lisp/novice.el (disabled-command-function): Add note ...
4a603c9849 Amend last Eglot commit (bug#62065)
b916ec88b2 Make eglot-ensure's post-command-hook run a bit later (bu...
1c05175c21 Fix display of disabled-command help text
3ce37db988 Remove mention of old dotted-list reader quirk from manual
42335c2c1f Fix value history shown for 'gc-cons-percentage'
fffbce2934 TRework fix for bug#62106
8bc12a2736 ; * etc/NEWS: Fix last change.
2ac068d294 ; Remove 'ns-popup-font-panel' from documentation
5bc32d008f Add missing indentation rule for rust-ts-mode (Bug#62109)
0404924930 ; One more improvement to ELisp "internals" appendix.
c857775ca6 Fix bug#62106
0fedbfa6a9 ; Minor improvement of documentation of GC thresholds
b0b24ad2fc Add missing rust-ts-mode highlight query for scoped_type_...
c0cf69f7a1 Make "case" keyword a dedenter in Python
db178517ce ; * lisp/arc-mode.el (w32-get-console-codepage): Declare.
157a91b54b Fix decoding non-ASCII file names in zip archives on MS-W...
4803f97204 Fix copying binary files from zip archives
679f528b95 Skip ruby-ts-syntax-propertize-symbol unless treesitter i...
081cc7aa8e ; * doc/misc/eglot.texi (Project-specific configuration):...
1de513a29f Fix enums and unions appearing as structs in c-ts-base-mo...
ecdfd584a5 ruby-ts-mode: Fine-tune s-p-f on symbols (bug#62086)
29228e24f2 python-info-dedenter-opening-block-positions: Fix to supp...
01b65d442a Autoload Eglot helper funtion eglot--debbugs-or-github-bu...
50a3559c5a Add chapter on advanced server configuration to Eglot manual
2e7460c231 ; * lisp/progmodes/java-ts-mode.el (treesit-query-capture...
255eeee0e0 java-ts-mode: detect if text_block is supported.
6fe9075ff3 Revert workaround introduced in Bug#56271
f175141aea Fix searching for end of string in python-nav-end-of-stat...
# Conflicts:
# etc/NEWS
There is no particular requirement for safe-copy-tree so let's make it
internal for now. The new implementation is faster and more correct.
* doc/lispref/lists.texi (Building Lists):
* etc/NEWS: Remove doc and announcement.
* lisp/subr.el (safe-copy-tree--seen, safe-copy-tree--1)
(safe-copy-tree): Remove old version.
* lisp/emacs-lisp/bytecomp.el (bytecomp--copy-tree-seen)
(bytecomp--copy-tree-1, bytecomp--copy-tree): Add new version.
(byte-compile-initial-macro-environment): Use it.
* test/lisp/subr-tests.el (subr--safe-copy-tree):
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp--copy-tree):
Move and improve tests.
* lisp/emacs-lisp/shortdoc.el (shortdoc-help-fns-examples-function)
(shortdoc-function-examples): Fix compilation warning and add an
empty line before the examples.
* lisp/emacs-lisp/shortdoc.el (shortdoc--insert-group-in-buffer)
(shortdoc-function-examples)
(shortdoc-help-fns-examples-function):
* etc/NEWS:
* doc/lispref/help.texi (Documentation Groups):
* doc/emacs/help.texi (Name Help): Improve documentation of
the last change. (Bug#61877)
* lisp/emacs-lisp/shortdoc.el (shortdoc--display-function): Add
a new shortdoc-example text property so that ELisp examples can
be searched for later.
(shortdoc--insert-group-in-buffer): New function extracted from
the buffer insertion code in 'shortdoc-display-group'.
(shortdoc-display-group): Implement in terms of
'shortdoc--insert-group-in-buffer'.
(shortdoc-function-examples): New function that returns an alist
of Emacs Lisp examples from shortdoc.
(shortdoc-help-fns-examples-function): New function to insert
Emacs Lisp function examples in *Help* buffers, if added to
'help-fns-describe-function-functions'.
*
test/lisp/emacs-lisp/shortdoc-tests.el (shortdoc-function-examples-test):
Test it.
* doc/emacs/help.texi (Name Help): Document in the user manual.
* doc/lispref/help.texi (Documentation Groups): Document it.
* etc/NEWS: Advertise it. (Bug#61877)
7e1012765c Fix libwebp check for some webp installations
c2ca009da4 Avoid potential infloop
34c14430e9 Don't misindent 'else:' after 'if re.match:' in Python
8a2a554192 * Make sure `default-directory' exists before spawning pr...
1862e7eb7e Fix sed expression in install-etc make target
c8ec0017cb Avoid using bash in the emacsclient desktop file
a588937094 Fix documentation of the 'line-height' text property
971ded31c4 Add 'declare' specs to with- and without-restriction
* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--indent-styles): Handle the empty line case.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New test.
* doc/lispref/modes.texi (Parser-based Indentation): Update manual.
* lisp/treesit.el (treesit-simple-indent-presets): Support null as
a value for NODE-TYPE in the 'match' matcher.
This fixes bug #61962.
* lisp/subr.el (safe-copy-tree): New function.
* lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment): Amend
the entry for eval-and-compile to use safe-copy-tree and
byte-run-strip-symbol-positions for the eval part.
* doc/lispref/lists.texi (Building Lists): Document safe-copy-tree.
* etc/NEWS: Note the new function safe-copy-tree.
836044f329 Fix c-ts-mode preproc directive indentation
64980a59b6 ; * lisp/files.el (hack-local-variables): Fix typo in the...
a7cd125d49 More robustly unspoof HOME in Eglot tests (bug#61637)
6c66dbd02c Turn on Eglot inlay hints by default
246f5b541c Update ts modes missed in 4c16fd3a51 to use column-0
0bfba49ca7 Robustify Eglot for "transient" projects
ea5fd375bb Fix documentation of 'normal-mode' in buffers that don't ...
4c16fd3a51 Change tree-sitter indent anchor 'point-min' to 'column-0'
f47b393015 Fix go-ts-mode multi-line string indentation (bug#61923)
e0bf2da3db ; More accurate doc strings for 'window-at' and 'window-a...
613de66281 Rename the newly added -ref- faces to -use-
f601e9666d Eglot: support multiple labels in same inlay hint
4a5eda7ed2 Eglot: don't paint hints outside requested region (bug#61...
11c1aa1eb1 ; * doc/misc/gnus.texi: Fix last change.
44949c292f ; Add `nnimap-user' to Gnus manual
6c7078c66f ; * lisp/progmodes/c-ts-mode.el (treesit-node-prev-siblin...
3d0a6c9baa Eglot: protect against unintended field text motion (bug#...
647e40f4a0 ; And yet another fix to eglot-current-linepos-function's...
9d0f856a16 Fix description of 'desktop-save-mode'
aee10ca1cb Adjust tree-sitter defun navigation (bug#61617)
edf5b97686 Simplify c-ts-mode--top-level-label-matcher
0f15286c53 New tree-sitter indent anchor standalone-parent used by c...
# Conflicts:
# etc/NEWS
* lisp/font-lock.el (font-lock-variable-use-face)
(font-lock-property-use-face): Rename from font-lock-variable-ref-face
and font-lock-property-ref-face. Update all references (bug#61655).
When writing c-ts-mode Theo used parent-bol which works well except
one case:
1 for (int i=0;
2 i < 5;
3 i++) {
4 func(i);
5 }
In this case, when indenting "func(i)", parent-bol returns the start
of "i++" on line 3, instead of the "correct" anchor, the start of
"for" on line 1. parent-bol would have worked if the "for (...) {"
part is in one line.
To support this case I tried numerous things and added a bunch of
stuff, culminating in c-ts-common-statement-offset. It's complicated,
requires extra setup, and slow.
Not anymore! I think the new anchor standalone-parent really captures
the logic behind how people expect indentation to work. It's simple
and fast, and requires no setup.
* doc/lispref/modes.texi (Parser-based Indentation): Update manual.
* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--standalone-grandparent): New anchor.
(c-ts-mode--indent-styles): Replace c-ts-common-statement-offset with
standalone-parent.
(c-ts-base-mode): Add comment.
* lisp/treesit.el:
(treesit-simple-indent-presets): New anchor standalone-parent.
* doc/lispref/loading.texi (How Programs Do Loading):
* doc/emacs/building.texi (Lisp Libraries): Some additional
details about what happens with natively-compiled files.
* doc/lispref/commands.texi (Misc Events): Update documentation.
* java/org/gnu/emacs/EmacsService.java (EmacsService)
(onStartCommand): Improve notification message.
* src/android.c (android_hack_asset_fd): Detect if ashmem is
available dynamically.
(android_detect_ashmem): New function.
* src/textconv.c (record_buffer_change): Use markers to
represent BEG and END instead.
(syms_of_textconv): Update doc string.
5cf50d6004 Check the anchor along with the offset in treesit-indent-...
497018dd5c ; Fix typos in docstrings in c-ts-common.el
03072bbdd3 ; Set indent-tabs-mode to nil in c-ts-mode indent preproc...
4a25fa4586 Align to prev sibling for c-ts-mode indentation
d25f24fe57 Fix c-ts-common-statement-offset and c-ts-common--node-is
c92360c7a3 typescript-ts-mode: Highlight non-shorthand destructuring...
a795c51f60 Add more/finer faces for tree-sitter
146bce4932 Avoid crashes in batch mode due to lack of frame face cache
244a73cd72 Add Tramp version integrated in Emacs 28.3
# Conflicts:
# etc/NEWS
* doc/lispref/modes.texi (Faces for Font Lock):
Update the list of faces (bug#61655).
* etc/NEWS: Update the list of new faces.
* lisp/cus-theme.el (custom-theme--listed-faces): Update.
* lisp/font-lock.el (font-lock-function-call-face)
(font-lock-variable-ref-face, font-lock-property-ref-face):
New faces.
(font-lock-property-name-face):
Rename from 'font-lock-property-face'.
* lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings):
Use new faces. More 'enumerator' query to 'definition' feature.
(c-ts-mode--fontify-declarator, c-ts-mode--fontify-variable):
Use new faces.
* lisp/progmodes/cmake-ts-mode.el
(cmake-ts-mode--font-lock-settings): Use new faces.
* lisp/progmodes/csharp-mode.el
(csharp-ts-mode--font-lock-settings): Use new faces.
* lisp/progmodes/go-ts-mode.el (go-ts-mode--font-lock-settings):
Use new faces.
* lisp/progmodes/java-ts-mode.el
(java-ts-mode--font-lock-settings): Use new faces.
* lisp/progmodes/js.el (js--treesit-fontify-assignment-lhs)
(js--treesit-font-lock-settings): Use new faces. Highlight
variable definitions inside array and object destructuring
patterns.
* lisp/progmodes/python.el (python--treesit-variable-p):
Exclude identifiers in parameters.
(python--treesit-settings): Use new faces. Highlight function
parameters. Move 'keyword' up to still highlight 'self' as
keyword.
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Use new faces.
* lisp/progmodes/rust-ts-mode.el
(rust-ts-mode--font-lock-settings): Use new faces.
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Use new faces.
* lisp/textmodes/css-mode.el (css--treesit-settings):
Use font-lock-property-ref-face.
* lisp/textmodes/toml-ts-mode.el
(toml-ts-mode--font-lock-settings):
Use font-lock-property-ref-face.
* lisp/textmodes/yaml-ts-mode.el
(yaml-ts-mode--font-lock-settings): Same.
b0cbd5590b Eglot: simplify inlay hints implementation with jit-lock
91e24c5b5a Eglot: update inlay hints on window configuration changes
79fead1709 ; Fix a typo in a doc string in c-ts-common.el (bug#61736).
a0b273ef30 ; Clarify documentation of 'file-modes-number-to-symbolic'
5c2be6a263 ; Fix recently-added doc strings in eglot.el
e3be0dbf85 Eglot: display completion label when safe
5286111ea1 Improve documentation of VC commands, including in Dired
990f402713 * doc/emacs/maintaining.texi: More mentions of marked fil...
* doc/lispref/files.texi (Changing Files):
* lisp/files.el (file-modes-number-to-symbolic): Clarify the
confusion with "symbolic" forms of file modes. (Bug#61709)
Make `fset` and `defalias` signal an error on attempts to create
circular alias chains. This is more effective, efficient and
convenient than permitting alias loops to be created and trying to
detect them at run time each time a function is called, which is what
we have been doing until now, badly.
* lisp/help-fns.el (help-fns--analyze-function):
Don't pass obsolete argument.
* lisp/subr.el (function-alias-p):
* src/data.c (indirect_function, Findirect_function): Simplify.
Now error-free, second argument obsolete.
(Ffset): Detect loops.
* test/lisp/help-fns-tests.el (help-fns--analyze-function-recursive):
* test/lisp/subr-tests.el (test-alias-p):
Adapt tests.
* test/src/data-tests.el (data-tests-fset, data-tests-defalias): New.
* doc/lispref/eval.texi (Function Indirection):
* doc/lispref/functions.texi (Defining Functions, Function Cells):
Update manual.
* etc/NEWS: Announce.
Now prev-adaptive-prefix looks at the current line and checks if it
begins with a prefix itself. If it does, prev-adaptive-prefix tries
to place the anchor before the prefix on the previous line, rather
than after it.
- prev line
- this line -> This line starts with a "-", i.e., begins with a
prefix, so we place the anchor at the beginning of the
"-" of the previous line, rather than after it
- prev line
this line -> This line doesn't start with a prefix, so the anchor
is placed after the previous line's "-".
* doc/lispref/modes.texi (Parser-based Indentation): Update manual.
* lisp/treesit.el:
(treesit-simple-indent-presets): Add local variable
this-line-has-prefix, base what anchor to return on the value of
this-line-has-prefix and whether the prev line has a prefix.