1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 16:51:06 -07:00
Commit graph

165013 commits

Author SHA1 Message Date
Eli Zaretskii
3f71a2a0cf ; * lisp/progmodes/c-ts-mode.el (treesit-node-next-sibling): Declare. 2023-04-15 13:12:20 +03:00
Jostein Kjønigsen
adf9c956c2 Add to Eglot support for additional language-servers.
* lisp/progmodes/eglot.el (eglot-server-programs): Add
'vscode-markdown-language-server' for Markdown and
'dot-language-server' for GraphViz.  (Bug#62844)
2023-04-15 12:16:48 +03:00
Yuan Fu
b3603b84bd
Partial support for DEFUN in c-ts-mode (bug#62825)
The DEFUN is hard to incorporate because it's made of two nodes rather
than one, and most tree-sitter functionalities assume a defun is one
node.  I fixed the indent-defun and add-log functionality, but
beginning/end-of-defun and imenu still don't recognize DEFUN.

* lisp/progmodes/c-ts-mode.el (c-ts-mode-emacs-devel): New variable.
(c-ts-mode--defun-name): Support DEFUN.
(c-ts-mode--defun-valid-p): Support DEFUN.
(c-ts-mode--emacs-defun-p)
(c-ts-mode--emacs-defun-at-point): New functions.
(c-ts-mode-indent-defun): Use c-ts-mode--emacs-defun-at-point.
(c-ts-mode--emacs-current-defun-name): New function.
(c-ts-mode, c++-ts-mode): Optionally setup custom defun-name function.
2023-04-14 13:09:05 -07:00
Eli Zaretskii
14e809ddff Fix style and unwinding code in treesit.c
This was supposed to be a cherry-pick from master, but
isn't, due to the unnecessary rush to fix master without
cleaning up the mess first and without separating changes
that can and cannot be backported.
* src/treesit.c (treesit_traverse_cleanup_cursor): Fix indentation
style.
(Ftreesit_search_subtree, Ftreesit_search_forward)
(Ftreesit_induce_sparse_tree): Fix specpdl unwinding.  (Bug#62823)
Do not merge to master.
2023-04-14 09:21:05 +03:00
Yuan Fu
759cdf1e51 Catch signals produced by PRED in tree-sitter search functions
Earlier we switched to using cursors rather than nodes to traverse the
parse tree.  Because cursors need cleanup, we have to catch signals
thrown by the predicate functions and free the cursor. Failing to do
this will result in leaking the cursor whenever the predicate function
signals in a search function.  This change fixes the leak.
* src/treesit.c (treesit_traverse_cleanup_cursor): New function.
(Ftreesit_search_subtree)
(Ftreesit_search_forward)
(Ftreesit_induce_sparse_tree): Catch signals.  (Bug#62823)

(cherry picked from commit a5eb9f6ad4)
2023-04-14 09:07:46 +03:00
Eli Zaretskii
864a4dc236 Fix compilation of w32.c with old MinGW system headers
* src/w32.c (CONSOLE_FONT_INFO): Make sure the definition is not
visible for MinGW versions whose w32api's version is before 5.2.0.
(Bug#52792)
2023-04-13 08:18:33 +03:00
Dmitry Gutov
a22eb9ae0f ruby-add-log-current-method: Reduce the use of 'nreverse'
* lisp/progmodes/ruby-mode.el (ruby-add-log-current-method):
Reduce the use of 'nreverse' (bug#62761).

* test/lisp/progmodes/ruby-mode-tests.el
(ruby-add-log-current-method-singleton-referencing-outer):
New test.
2023-04-13 00:46:11 +03:00
Visuwesh
17d803d0a7 Fix detection of WebP images by their signature
* lisp/image.el (image-type-header-regexps): The 4 characters
between "RIFF" and "WEBP" in WebP images can also be newlines.
(Bug#62790)
2023-04-12 20:04:26 +03:00
João Távora
43290391ce ; Eglot: make version parseable by version-to-list
* lisp/progmodes/eglot.el (Version): Correct version.
2023-04-12 13:08:14 +01:00
Earl Hyatt
6e6e8b5c97 Add more documentation for the keys of package-vc-selected-packages.
* doc/emacs/package.texi (Specifying Package Sources): List the
accepted keys in a new subsection of Fetching Package Sources.

* lisp/emacs-lisp/package-vc.el (package-vc-selected-packages):
Mention the `:doc` key.  Add the `:doc` key to the Customize form,
mention the new Info node, correct "TexInfo" to "Texinfo", avoid
Git-specific terms for the description of `:branch`, mention guessing
`:vc-backend` based on the URL.
2023-04-12 09:45:52 +02:00
Dmitry Gutov
7972b76c2c ; vc-checkout: Wrap var lookup in 'bound-and-true-p' 2023-04-12 02:03:14 +03:00
Dmitry Gutov
e9fef1d70f vc-checkout: Try to use the vc-dir's backend first
* lisp/vc/vc.el (vc-checkout): Try to use the vc-dir's backend
before looking for the file's one.  The latter doesn't work when
the file doesn't exist on disk yet (bug#62674).
2023-04-11 22:59:45 +03:00
Eli Zaretskii
372e024acc ; Fix wallpaper-tests on XFCE
* test/lisp/image/wallpaper-tests.el
(wallpaper--find-command-args/return-list): Account for
command-args being a function.  (Bug#62673)
2023-04-11 17:47:48 +03:00
Eli Zaretskii
7055fd8e43 Improve documentation related to 'ispell-complete-word'
* lisp/textmodes/ispell.el (ispell-alternate-dictionary)
(ispell-complete-word-dict, ispell-complete-word): Doc fixes.
(Bug#62775)
2023-04-11 16:24:13 +03:00
Po Lu
61fd017abd * configure.ac: Add -lbsd on Haiku. 2023-04-11 20:08:12 +08:00
Eli Zaretskii
05971c4d9a Add menu to 'c-ts-mode' and 'c++-ts-mode'
* lisp/progmodes/c-ts-mode.el (c-ts-mode-menu): New menu.
2023-04-11 13:37:25 +03:00
Mattias Engdegård
954e2d96a9 Update manual about sort
* doc/lispref/sequences.texi (Sequence Functions):
Remove inaccurate and over-specific claims about how `sort` works for
lists: there is no guarantee that it doesn't modify the `car` fields
of the input list (which is precisely what it does at this time).

(cherry picked from commit c753a95923)
2023-04-11 10:12:15 +02:00
Eli Zaretskii
c62afb10cf Fix wallpaper-tests on MS-Windows
* test/lisp/image/wallpaper-tests.el (wallpaper--find-setter)
(wallpaper--find-setter/call-predicate)
(wallpaper--find-setter/set-current-setter)
(wallpaper-set/calls-init-action)
(wallpaper-set/calls-wallpaper-set-function)
(wallpaper-set/runs-command, wallpaper-set/runs-command/detach):
Skip these tests if native functions are used for changing
wallpaper.  These tests are irrelevant in that case.
2023-04-11 10:33:32 +03:00
Basil L. Contovounesios
f2d212c696 Fix a couple of eglot-tests
* test/lisp/progmodes/eglot-tests.el
(eglot-test-rust-analyzer-watches-files): Bump timeout.
(eglot-test-json-basic): Check for yas-minor-mode before using it,
like other tests do (bug#61637).
2023-04-11 07:40:15 +01:00
Eli Zaretskii
338b3718b6 Fix visiting RPM files
We cannot call 'sh-set-shell' inside 'sh-base-mode', since various
settings of 'sh-mode', in particular the syntax table, is not yet
set.  Likewise with various hooks: since 'sh-base-mode' is not a
mode any file should be visited with, it makes no sense to set up
stuff like 'hack-local-variables-hook' in 'sh-base-mode'; it
should be set in the descendant modes instead.
* lisp/progmodes/sh-script.el (sh-base-mode): Move the call to
'sh-set-shell' from here...
(sh-mode): ...to here...
(bash-ts-mode): ...with a copy here.  (Bug#62748)
2023-04-10 16:09:58 +03:00
Basil L. Contovounesios
b4afee0319 Fix ff-quiet-mode doc
* lisp/find-file.el (ff-quiet-mode, ff-find-other-file): Say that
ff-quiet-mode disables tracing, not the inverse.
2023-04-10 13:49:32 +01:00
Eli Zaretskii
2445100d7d ; Improve documentation of 'match-buffers'
* doc/lispref/buffers.texi (Buffer List):
* lisp/subr.el (match-buffers): Fix documentation of
'buffer-match-p' and 'match-buffers'.
2023-04-10 12:30:23 +03:00
Eli Zaretskii
d4d0da96f0 ; Update make-tarball.txt for Emacs 29. 2023-04-10 10:31:44 +03:00
Eli Zaretskii
9b0bf694da ; Fix ldefs-boot.el. 2023-04-10 01:54:17 -04:00
Eli Zaretskii
0cb86a348c ; Update ChangeLog.4. 2023-04-10 01:44:40 -04:00
Eli Zaretskii
5e039d5a6e * lisp/ldefs-boot.el: Regenerate. 2023-04-10 01:42:05 -04:00
Eli Zaretskii
671abd0cc4 Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into emacs-29
Pull in latest changes.
2023-04-10 01:17:26 -04:00
Eli Zaretskii
4bc678ec9f Bump Emacs version to 29.0.90
* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp: Bump version to 29.0.90.
2023-04-10 01:15:30 -04:00
Dmitry Gutov
db8f207e52 Fix some cases of incomplete code's indentation [c/c++-ts-mode]
* lisp/progmodes/c-ts-mode.el (c-ts-base--before-indent): Try to
guess when the parse tree is incomplete, and provide a better node
to indent against (bug#62717).
(c-ts-base-mode): Set up advice for local treesit-indent-function.
2023-04-10 02:58:46 +03:00
Dmitry Gutov
589959fb09 project-search: Pipe the list of files through 'file-regular-p'
* lisp/progmodes/project.el (project-search): Pipe the list of
files through 'file-regular-p' to skip directories (bug#62735).
2023-04-10 02:09:45 +03:00
Eli Zaretskii
2b91567bf6 Update ChangeLog and AUTHORS for Emacs 29
* admin/authors.el: Update for Emacs 29.

* etc/AUTHORS: Re-generate for Emacs 29.

* ChangeLog.4: New generated file.
* Makefile.in (PREFERRED_BRANCH): Update to emacs-29.
(CHANGELOG_HISTORY_INDEX_MAX): Bump to 4.
2023-04-09 15:27:52 -04:00
Basil L. Contovounesios
d6af1f1498 ; doc/lispref/windows.texi: Fix @pxref paren. 2023-04-09 19:08:06 +01:00
João Távora
57490fff6e ; Backport: Eglot: fix misplaced parenthesis in last commit to eglot-tests.el
* test/lisp/progmodes/eglot-tests.el
(eglot-test-eldoc-after-completions): Fix misplaced parenthesis.

(cherry picked from commit 3aedd5c920)
2023-04-09 15:36:08 +02:00
João Távora
2a62273f3b Backport: Eglot: no more tests based on Pylsp (bug#62694)
The functionality under test in eglot.el is exactly the same, but use
the clangd server only, as that is used in more tests, and it is much
easier to check if it misbehaves or not.

Tests pass with clangd version 15.

* test/lisp/progmodes/eglot-tests.el (python): Don't require it.
(eglot--call-with-fixture): Simplify.
(eglot--wait-for-clangd): New helper.
(eglot-test-basic-completions)
(eglot-test-non-unique-completions, eglot-test-basic-xref)
(eglot-test-snippet-completions)
(eglot-test-snippet-completions-with-company)
(eglot-test-eldoc-after-completions, eglot-test-multiline-eldoc):
Use clangd, not pylsp.
(eglot-test-formatting): Renamed from
eglot-test-python-autopep-formatting.
(eglot-test-python-yapf-formatting): Remove.

(cherry picked from commit fc8230f336)
2023-04-09 15:34:32 +02:00
Eli Zaretskii
5ef7ff0573 ; Start a new ChangeLog.4 file. 2023-04-09 07:50:01 -04:00
Eli Zaretskii
11126c6d30 Fix 'C-h k' for "Paste from Kill Menu" in context menus
* lisp/mouse.el (context-menu-region): Make the entries be
symbols, not just integers, to prevent "C-h c" from interpreting
them as character keys.  (Bug#62626)
2023-04-08 20:10:49 +03:00
Eli Zaretskii
74ddfe811f ; * doc/misc/calc.texi (Rewrites Tutorial): Fix a typo (bug#62658). 2023-04-08 19:14:15 +03:00
Eli Zaretskii
08cda286c3 Improve the documentation of the XDS support
* doc/lispref/frames.texi (Drag and Drop): Rephrase and rearrange
the documentation of XDS support.  Add indexing.  Document
'x-dnd-save-direct' and 'x-dnd-save-direct-immediately'.  Original
patch from Po Lu <luangruo@yahoo.com>.

* lisp/x-dnd.el (x-dnd-types-alist, x-dnd-test-function)
(x-dnd-default-test-function, x-dnd-direct-save-function): Doc
fixes.
(x-dnd-save-direct, x-dnd-save-direct-immediately): Rename the
second argument to FILENAME.  Doc fix.
2023-04-08 18:36:23 +03:00
Eli Zaretskii
14d1c00e80 Allow reindentation of images inserted by 'mm-inline-image'
* lisp/gnus/mm-view.el (mm-inline-image): Use "x" as text on which
to put the image 'display' property, so that indentation commands
don't destroy the image inadvertently.  (Bug#62637)
2023-04-08 16:00:29 +03:00
Eli Zaretskii
b63a9eda01 Fix "C-h k" and "C-h c" with Paste from Kill Menu
* lisp/subr.el (event-basic-type, event-modifiers): Return nil if
EVENT is a string.  (Bug#62626)
2023-04-08 15:36:44 +03:00
Daniel Martín
b36c21e27d Change cursor color on NS port when it matches the face background
* src/macfont.m (CG_SET_FILL_COLOR_WITH_FRAME_CURSOR): New macro.
(CG_SET_FILL_COLOR_WITH_FRAME_BACKGROUND): New macro.
(macfont_draw): When the cursor's color matches the face background,
set the fill color of the cursor to the face foreground.
* src/nsterm.m (ns_maybe_dumpglyphs_background): When dumping the
background of a glyph string, apply the logic mentioned
above.  (Bug#62573)
2023-04-08 14:35:30 +03:00
Eli Zaretskii
96714c106b Improve documentation of image-related commands
* lisp/image.el (image-map): Make it inherit from
'image-slice-map' instead of repeating the bindings.

* doc/emacs/files.texi (Image Mode): Document the key bindings set
by 'insert-image'.  Add indexing.

* doc/lispref/display.texi (Showing Images): Make the description
of user commands more concise.  Add index entries and
cross-reference to the Emacs manual.

* etc/NEWS: Rearrange entries relevant to image commands.
2023-04-08 14:33:06 +03:00
Eli Zaretskii
6a2863ca01 Fix handling of sliced images
* lisp/image.el (image-slice-map): New keymap, without some
bindings that make no sense with sliced images.
(insert-image, insert-sliced-image): Use it.
(insert-sliced-image): Make the 'keymap' property rear-nonsticky,
to prevent calling image commands when point is to the right of
the slice.  (Bug#62679)

* lisp/image/image-crop.el (image-cut, image-crop): Doc fixes.
(image-crop): Don't try using stock MS-Widows convert.exe
program.  Use 'image--get-image' to support sliced images.
2023-04-08 12:43:34 +03:00
Eli Zaretskii
5be79fd05a ; * etc/NEWS: Announce 'cyrillic-mongolian' IM. 2023-04-08 10:55:26 +03:00
Eli Zaretskii
ca1a0fda98 ; Fix last change. 2023-04-08 10:52:35 +03:00
garid3000
ce63462dbd Add cyrillic-mongolian input method
* lisp/leim/quail/cyrillic.el (cyrillic-mongolian): New input
method.  (Bug#56617)
2023-04-08 10:50:34 +03:00
Eli Zaretskii
5880179270 ; Minor addition to the Emacs FAQ
* doc/misc/efaq.texi (Fullscreen mode on MS-Windows): Tell how to
avoid the initial screen changing size on display without using
the Registry.  Suggested by David Hedlund <public@beloved.name>.
2023-04-08 10:41:53 +03:00
João Távora
88847dee12 Jsonrpc: don't bind inhibit-read-only to t so early
Related to https://github.com/joaotavora/eglot/discussions/1202, where
because of this very wide binding to inhibit-read-only to t, Eglot was
managing to write into read-only buffers from the response handlers
that ran from within the stack of the jsonrpc.el process filter.

This is of course illegal and dangerous, but Eglot wasn't made aware
because of the binding.

* lisp/jsonrpc.el (jsonrpc--process-filter): Don't bind
inhibit-read-only so early.
2023-04-07 19:33:12 +01:00
Eli Zaretskii
cb8c87a423 Allow active region when IM is used
* lisp/international/quail.el (quail-minibuffer-message): Bind
deactivate-mark to allow setting active region in the minibuffer
when an input method is used.  (Bug#62709)
2023-04-07 18:31:42 +03:00
Robert Pluim
305246d972 Add emoji-zoom-reset
* lisp/international/emoji.el (emoji-zoom-map): Add emoji-zoom-reset.
(emoji-zoom-reset): New function, it resets the zoom level.
* lisp/international/mule-cmds.el (ctl-x-map): Add emoji-zoom-reset.
* etc/NEWS: Announce new command.
2023-04-06 13:36:11 +02:00