Commit graph

12816 commits

Author SHA1 Message Date
Stefan Kangas
95fee880e4 New macros incf and decf
* lisp/emacs-lisp/cl-lib.el (cl-incf, cl-decf): Move macros from here...
* lisp/emacs-lisp/gv.el (incf, decf): ...to here.  Make old names into
aliases, documented as deprecated.
* lisp/obsolete/cl.el: Don't alias incf and decf.

* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-incf)
(cl-lib-test-decf): Move tests from here...
* test/lisp/emacs-lisp/gv-tests.el (gv-incf, gv-decf): ...to here.

* doc/lispref/numbers.texi (Arithmetic Operations):
* lisp/emacs-lisp/shortdoc.el (number): Document incf and decf.

* doc/lispref/variables.texi (Multisession Variables):
* doc/misc/cl.texi (Organization, Modify Macros, Modify Macros)
(Modify Macros, Macro Bindings, For Clauses, Property Lists)
(Structures, Efficiency Concerns, Obsolete Setf Customization): Delete
cl-incf and cl-decf documentation, moving any relevant parts to lispref.
Delete some parts that seem to primarily regard implementation details
that do not warrant inclusion in lispref.  Update all examples to use
incf/decf.
2025-02-23 00:38:22 +01:00
Juri Linkov
1ffa052113 * lisp/treesit.el (treesit-up-list, treesit-outline-level): Improve.
Try to get the parent parser host node that contains the
embedded parser and continue the search from it (bug#76398).
2025-02-22 21:52:39 +02:00
Stefan Kangas
ba8a1b9025 Delete self-evident explanation from cl.texi
* doc/misc/cl.texi (Setf Extensions): Delete self-evident
explanation.
2025-02-22 18:22:12 +01:00
Stefan Kangas
4aae820a01 ; Delete obsolete commented out parts from cl.texi
* doc/misc/cl.texi (Modify Macros, Obsolete Setf Customization): Delete
commented out documentation that is no longer true, and documentation of
a function that was removed in Emacs 24.3.
2025-02-22 17:22:51 +01:00
Eli Zaretskii
827a91dbf3 Make 'text-property-default-nonsticky' buffer-local when set
* src/textprop.c (syms_of_textprop)
<text-property-default-nonsticky>: Make buffer-local when set.
(Bug#76445)

* etc/symbol-releases.eld: Add text-property-default-nonsticky.

* etc/NEWS:
* doc/lispref/text.texi (Sticky Properties): Document the change.
2025-02-22 18:04:04 +02:00
Stefan Kangas
702cb123fa ; Fix typos 2025-02-22 14:48:29 +01:00
Visuwesh
0ee50a3420 Make yank-media auto select the best mime type
* lisp/yank-media.el (yank-media-preferred-types): Add new
variable that holds the list of mime types in order of their
preference.
(yank-media-autoselect-function): Add new variable and function
to choose the most preferred media type.
(yank-media): Make 'yank-media' choose the most preferred mime
type by default.
* doc/emacs/killing.texi (Clipboard):
* doc/lispref/frames.texi (Yanking Media): Document the new
behaviour, and the new variables.
* etc/NEWS: Announce the change.  (Bug#75116)
2025-02-22 11:37:23 +02:00
F. Jason Park
1f60f86af5 Use .pem extension for client certs in ERC docs
* doc/misc/erc.texi (Connecting): Change file-name extensions to .pem in
all examples, and explain that the key and the cert can be combined into
one file.
(SASL): Use .pem extension for certs.
* lisp/erc/erc.el (erc--warn-once-before-connect): Revise doc.
(erc-tls): Use .pem extension for certs.  (Bug#76278)
2025-02-21 18:40:06 -08:00
Juri Linkov
840be8a7d8 New variable 'treesit-aggregated-outline-predicate' (bug#76398)
* doc/lispref/modes.texi (Outline Minor Mode):
Add 'treesit-aggregated-outline-predicate'.

* lisp/treesit.el (treesit-aggregated-outline-predicate):
New buffer-local variable.
(treesit-outline--at-point):
Use 'treesit-aggregated-outline-predicate'.
(treesit-closest-parser-boundary): New function.
(treesit-outline-search): Use 'treesit-aggregated-outline-predicate'
and 'treesit-closest-parser-boundary'.
(treesit-outline-level): Use 'treesit-aggregated-outline-predicate'.
(treesit-major-mode-setup): Add 'treesit-aggregated-outline-predicate'.

* lisp/textmodes/html-ts-mode.el (html-ts-mode--outline-predicate):
Improve.

* lisp/textmodes/mhtml-ts-mode.el (mhtml-ts-mode):
Set 'treesit-aggregated-outline-predicate'.
2025-02-21 09:55:54 +02:00
Po Lu
4fb5ff5426 Merge from savannah/emacs-30
e97be722d3 Properly move existing tooltips on Android
0cf3d34152 ; * ChangeLog.4: Reformat down to 28 March 2024.
ccaa0be8e7 ; * ChangeLog.4: Check in ommitted change.
b5410cbea2 ; * ChangeLog.4: Fix log entries down to the 1 May 2024.
be7625cae7 ; Fix typos
d447cd9fcc ; * ChangeLog.4: Update.
5dc2a57375 ; * admin/authors.el (authors-ignored-files): Ignore gnus...
2025-02-19 15:36:08 +08:00
Stefan Kangas
4c4f907bad Make cl-locally obsolete
* doc/misc/cl.texi (Declarations): Don't document cl-locally.
* lisp/emacs-lisp/cl-macs.el (cl-locally): Make into obsolete
function alias for progn.
2025-02-18 22:30:41 +01:00
Stefan Monnier
d685d21e8a (lexical-binding): Allow changing the default value (bug#74145)
* lisp/loadup.el: Preserve (default-toplevel-value 'lexical-binding).

* src/lread.c (Fload, Feval_buffer): Obey (default-toplevel-value
'lexical-binding).

* doc/lispintro/emacs-lisp-intro.texi (Lexical vs Dynamic Binding
Example): Use the lexical dialect also for the dynamic
scoping example.
* doc/lispref/edebug.texi (Edebug Eval): Remove long-obsolete mention
of Edebug support for `lexical-let`.
2025-02-18 15:37:50 -05:00
Stefan Kangas
be7625cae7 ; Fix typos 2025-02-18 05:42:12 +01:00
Basil L. Contovounesios
2e3cf73e05 Improve autoconf-mode macro detection
* doc/lispref/modes.texi (Search-based Fontification): Fix
indentation of (MATCHER . FACESPEC) example.
* doc/misc/cc-mode.texi (Performance Issues): Index
defun-prompt-regexp under variables, not functions.

* lisp/progmodes/autoconf.el (autoconf--symbol, autoconf--macro):
New rx definitions.
(autoconf-definition-regexp): Use an optional second capture group
to indicate a function rather than variable definition.  Detect
AC_DEFINE defining a function-like CPP macro.  Skip more shell
syntax such as variable ${} expansion and command `` substitution in
AC_DEFINE_UNQUOTED variable.  Match AH_VERBATIM, AM_CONDITIONAL, and
AM_MISSING_PROG as defining variables, and AC_DEFUN, AC_DEFUN_ONCE,
AU_ALIAS, and AU_DEFUN as defining functions.  Document first
capture group in docstring.
(autoconf-font-lock-keywords): Use autoconf--macro to match more
Autoconf macros, such as those defined in the Autoconf Archive and
Gnulib.  Reserve font-lock-function-name-face for function
definitions as determined by autoconf-definition-regexp, and use
font-lock-variable-name-face for the rest instead.  Use Font Lock
face symbols directly in place of their corresponding variable.
Fontify M4 changequote primitive only as a standalone symbol.
(autoconf-imenu-generic-expression): Add commentary mentioning new
submenu possibility.
(autoconf-current-defun-function): Update docstring accuracy.
Replace line-end-position with pos-eol since there are no fields.
(autoconf-mode): Define defun-prompt-regexp in terms of
autoconf--macro to support more toplevel macros, such as those
defined in Autoheader, M4sh, etc.  Set
open-paren-in-column-0-is-defun-start to nil to avoid false
positives when an Autoconf quote character is in column zero.

* test/lisp/progmodes/autoconf-resources/configure.ac: New file.
* test/lisp/progmodes/autoconf-tests.el
(autoconf-tests-current-defun-function-define)
(autoconf-tests-current-defun-function-subst): Replace character
motion with search.
(autoconf-tests-autoconf-mode-comment-syntax): Ditto.  Test both dnl
and # comments.  Use syntax-ppss-context.
(autoconf-tests-font-lock): New test.
2025-02-17 17:28:05 -08:00
Stefan Kangas
afbf932106 New functions plusp and minusp
* lisp/emacs-lisp/cl-lib.el (cl-plusp, cl-minusp): Move from here...
* lisp/subr.el (plusp, minusp): ...to here.  Make old names into
aliases, documented as deprecated.  Add type declarations.  Change from
defsubst to regular functions with compiler macros.
* lisp/obsolete/cl.el: Don't alias plusp and minusp.

* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-plusp)
(cl-lib-test-minusp): Move tests from here...
* test/lisp/subr-tests.el (subr-test-plusp, subr-test-minusp):
...to here.

* doc/lispref/numbers.texi (Predicates on Numbers): Document plusp
and minusp.
* doc/misc/cl.texi (Predicates on Numbers): Delete cl-plusp and
cl-minusp.
* lisp/emacs-lisp/shortdoc.el (number): Document plusp and minusp
instead of cl-plusp and cl-minusp.
2025-02-17 22:46:56 +01:00
Stefan Kangas
667d011410 New functions oddp and evenp
* lisp/emacs-lisp/cl-lib.el (cl-oddp, cl-evenp): Move from here...
* lisp/subr.el (oddp, evenp): ...to here.  Make old names into
aliases, documented as deprecated.  Add type declarations.
* lisp/obsolete/cl.el: Don't alias oddp and evenp.

* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-oddp)
(cl-lib-test-evenp): Move tests from here...
* test/lisp/subr-tests.el (subr-test-oddp, subr-test-evenp): ...to here.
* lisp/emacs-lisp/shortdoc.el (number): Add oddp and evenp.
(map): Prefer oddp and evenp to cl-oddp and cl-evenp.

* doc/lispref/numbers.texi (Predicates on Numbers): Document above new
functions oddp and evenp.
* doc/misc/cl.texi (Predicates on Numbers): Delete cl-oddp and cl-evenp.
(Other Clauses): Prefer oddp to cl-oddp.
2025-02-17 05:37:10 +01:00
Po Lu
25b25fce75 Merge from savannah/emacs-30
e3dc0ea254 Fix crash in frame deletion on Android
e34ea5db5f * src/pgtkterm.c (pgtk_enumerate_devices): Circumvent bug...
48f9d6aafe * lisp/man.el (Man-shell-file-name): Ensure a Bourne shel...
7016c13e5e ; Update etc/AUTHORS (bug#76319).
0bc7b5a389 ; * admin/authors.el (authors-aliases): Add "Elías Gabrie...
e9c4f642b9 ; * doc/emacs/package.texi (Package Installation): Add om...
8c4294f370 ; Move index entries in user manual

# Conflicts:
#	src/pgtkterm.c
2025-02-17 11:36:14 +08:00
Stefan Kangas
0d40deec20 Remove some details on which files are loaded from cl.texi
* doc/misc/cl.texi (Naming Conventions): Remove section listing
functions that do not cause other files than cl-lib.el to be loaded.
It lacks practical relevance to the user, and is a hostage to changing
implementation details.
2025-02-17 02:22:28 +01:00
Michael Albinus
5fcf07ac09 Tramp: Don't require PuTTY 0.82 anymore
* doc/misc/tramp.texi: Revert last change.

* lisp/net/tramp-cache.el (with-tramp-saved-connection-properties):
Adapt `tramp-verbose' when completing host names.

* lisp/net/tramp-sh.el (tramp-methods) <plink, plinkx, pscp, psftp>:
Adapt `tramp-login-args' and `tramp-copy-args' arguments.
(tramp-plink-option-exists-p): New defun.
(tramp-ssh-or-plink-options): Rename from
`tramp-ssh-controlmaster-options'.  Adapt further plink options.
(tramp-do-copy-or-rename-file-out-of-band)
(tramp-maybe-open-connection): Adapt calls.

* lisp/net/tramp.el (tramp-file-name-handler): Don't touch
`tramp-verbose'.

* test/lisp/net/tramp-tests.el (top): Set `vc-handled-backends' to nil.
(tramp--test-enabled): Rearrange code.
2025-02-15 17:12:52 +01:00
Eli Zaretskii
e9c4f642b9 ; * doc/emacs/package.texi (Package Installation): Add omitted index entry. 2025-02-15 12:12:30 +02:00
Eli Zaretskii
8c4294f370 ; Move index entries in user manual
* doc/emacs/package.texi (Packages): Move index entries from here...
(Package Installation): ...to here.  Index entries should be where
the main description of the subject can be found.
2025-02-15 12:08:41 +02:00
Po Lu
c37e7cef42 Merge from savannah/emacs-30
58e4bfe340 Add two missing NULL checks of malloc'd values on Android
81ca9c75f1 ; * etc/PROBLEMS: Document how to grant storage permissio...
d82d468979 ; * etc/TODO: Rethink finder-known-keywords.
b9b9c33dcb Fix (Non)GNU ELPA description in manual
87a61eba1b Move 'package-archives' documentation to emacs manual
316e47c5af ; * src/fns.c (Fmapconcat): Doc fix (bug#76242).
3cfbeb3fca ; Fix >72 character long lines in docstring
c68886ddb7 ; Change "virus" to "malicious" in lispref
6701866be4 Document (Non-)GNU ELPA in emacs manual
02851768b7 ; * .mailmap: Add entry for Thuna.  (Bug#76221)
2d7a8cbf4c Fix author name
1931425748 Use c-ts-common's comment setup in go-ts-mode (bug#75978)
316893ca38 Add java-language-server to eglot-server-programs
2025-02-15 16:58:55 +08:00
Stefan Kangas
7c22f13ba3 ; * doc/misc/message.texi (Message Headers): Improve wording.
(Bug#72442)
2025-02-14 16:18:46 +01:00
Michael Albinus
9ded6fd73e Adapt PuTTY integration into Tramp
* doc/misc/tramp.texi (Inline methods, External methods):
PuTTY must be at least version 0.82.

* lisp/net/tramp-cache.el (with-tramp-saved-connection-property)
(with-tramp-saved-connection-properties): Add traces.

* lisp/net/tramp-sh.el (tramp-methods) <plink, plinkx, pscp, psftp>:
Adapt `tramp-login-args' and `tramp-copy-args' arguments.  (Bug#75746)
2025-02-14 15:21:30 +01:00
Yuan Fu
4b020b936c
Add treesit-simple-indent-standalone-predicate (bug#74386)
* lisp/treesit.el:
(treesit-simple-indent-standalone-predicate): New variable.
(treesit-simple-indent-presets): Use the predicate.
(treesit-simple-indent-presets): Update docstring.
* lisp/progmodes/c-ts-common.el:
(c-ts-common--standalone-parent):
(c-ts-common--prev-standalone-sibling): Use the predicate if
non-nil.  Also, handle method chaining by default.
* doc/lispref/modes.texi (Parser-based Indentation): Add
documentation.
2025-02-13 20:18:02 -08:00
Stefan Kangas
b9b9c33dcb Fix (Non)GNU ELPA description in manual
* doc/emacs/package.texi (Packages): Move detailed (Non)GNU ELPA
description...
(Package Installation): ...here, and fix incorrect information.
2025-02-13 16:42:01 +01:00
Stefan Kangas
87a61eba1b Move 'package-archives' documentation to emacs manual
* doc/lispref/package.texi (Package Archives): Move documentation
of package-archives variable from here...
* doc/emacs/package.texi (Package Installation): ...to here.
(Bug#76266)
2025-02-13 16:40:15 +01:00
Robert Pluim
315519fa7c Teach gnus/message about international Re: variants
* lisp/mail/mail-utils.el (mail-re-regexps): New defcustom,
contains the components used to construct 'rmail-re-abbrevs' and
'message-subject-re-regexp'.
* lisp/gnus/message.el (message-subject-re-regexp): Derive from
'mail-re-regexps'.
(message-strip-subject-re): Make the match case-insensitive.
* lisp/mail/rmail.el (rmail-re-abbrevs): Derive from
'mail-re-regexps'.  Update 'rmail-reply-regexp' when it changes.
(rmail-reply-regexp): Set to nil, 'rmail-re-abbrevs' will set
it.

* doc/emacs/rmail.texi (Rmail Reply): Describe
'mail-re-regexps'.
* doc/misc/message.texi (Message Headers): Describe
'mail-re-regexps'.

(Bug#72442)
2025-02-13 14:20:28 +01:00
Björn Bidar
6967587dae Bind sieve-refresh-scriptlist to 'g' in sieve-mode
* lisp/net/sieve.el (sieve-manage-mode-map): Bind
`sieve-refersh-scriptlist' to 'g' to refresh buffer.
(sieve-refresh-scriptlist): Highlight in docstring that the function
updates the current sieve buffer.  (Bug#75956)

* doc/misc/sieve.texi (Managing Sieve): Document new keybinding and the
existing `sieve-refresh-scriptlist` function.
2025-02-13 10:31:01 +01:00
Joseph Turner
3f1d84d593 Add optional PREDICATE argument to read-directory-name
* lisp/files.el (read-directory-name): Add optional PREDICATE argument.
* doc/lispref/minibuf.texi (Reading File Names): Document above change.
(Bug#66224)
2025-02-13 08:32:28 +01:00
Stefan Kangas
c68886ddb7 ; Change "virus" to "malicious" in lispref
* doc/lispref/functions.texi (Function Safety): Replace 'virus' with
'malicious' to ensure broader accuracy, as 'malicious' encompasses all
harmful software types.
2025-02-13 03:04:30 +01:00
Stefan Kangas
5d4927192a Mark package-x.el as obsolete
* lisp/obsolete/package-x.el: Add "Obsolete-since" header.  (Bug#76194)
* doc/lispref/package.texi (Package Archives): Don't document package-x.
2025-02-12 17:41:37 +01:00
Stefan Kangas
6701866be4 Document (Non-)GNU ELPA in emacs manual
* doc/emacs/package.texi (Packages): Document GNU ELPA and NonGNU
ELPA.  (Bug#59609)
2025-02-12 16:40:04 +01:00
Po Lu
fb4daf4aa0 Merge from savannah/emacs-30
19791839cf ; Don't document a complicated default
88bc748f52 Fix minibuffer-next-completion in completing-read-multiple
737f249aa2 ; Document 'completing-read-multiple' in the ELisp manual
37f2551460 ; * lisp/gnus/nnweb.el (nnweb-type): Doc fix.
2025-02-12 11:16:20 +08:00
Stefan Kangas
19791839cf ; Don't document a complicated default
* doc/misc/message.texi (Superseding): Don't document the default value
of 'message-ignored-supersedes-headers' here; the list was out-of-date,
and is likely to become out-of-date again in the future if updated.
It's also easy enough to look up for users outside of Info.
2025-02-11 16:48:23 +01:00
Eli Zaretskii
737f249aa2 ; Document 'completing-read-multiple' in the ELisp manual
* doc/lispref/minibuf.texi (Minibuffer Completion): Mention
'completing-read-multiple' (bug#76194).
2025-02-11 16:42:19 +02:00
Michael Albinus
b92cfadc6a * doc/misc/ert.texi (Helper Functions): Improve index. Fix markups. 2025-02-10 11:30:32 +01:00
Philip Kaludercic
eb36518244
;* doc/misc/dired-x.texi: Remove unnecessary paren (Bug#76148) 2025-02-08 22:40:25 +01:00
Michael Albinus
bdf77074bf * doc/misc/ert.texi (Helper Functions): New node. 2025-02-08 17:36:16 +01:00
Eli Zaretskii
3cd9f62687 Merge from origin/emacs-30
ed9dd4705c ; * admin/authors.el (authors-aliases): Add aliases.
223ee56aae ; Avoid passive tense in Emacs manual
be4cf26c16 Fix gnus-score-find-score-files-function :type
143f1096da Improve documentation of 'file-name-concat'
2025-02-08 07:36:34 -05:00
Eli Zaretskii
223ee56aae ; Avoid passive tense in Emacs manual
* doc/lispref/variables.texi (Defining Variables): Avoid passive
tense (bug#76135).
2025-02-08 13:47:11 +02:00
Jared Finder
b023d43ee7 Cleanup tool-bar-mode documentation
* doc/emacs/frames.texi (Tool Bars): Downcase concept index
text.
* lisp/cus-start.el (standard): Copy custom :tag strings
from window-tool-bar-style's, which are more descriptive.
(Bug#75844)
2025-02-08 13:14:25 +02:00
Jared Finder
72bbbff7e8 Update window-tool-bar
Add support for the remaining tool bar item specs, new user
option `window-tool-bar-style', and add support for older
Emacs versions.

* doc/emacs/windows.texi (Window Tool Bar): Add documentation
for new user option `window-tool-bar-style'.
* lisp/window-tool-bar.el
(customize-package-emacs-version-alist): Add package-version to
Emacs version mapping.
(window-tool-bar-string): Do not show spacers after hidden
buttons.
(window-tool-bar--keymap-entry-to-string): Call new function
`window-tool-bar--style'.  Add handling for :visible, :filter,
:button, :vert-only, and :help item specs.  Show key bindings.
(window-tool-bar--last-command-triggers-refresh-p): Use "cannot"
in comment.
(window-tool-bar--allow-images): Delete this, it is replaced by
new user option `window-tool-bar-style'.
(window-tool-bar--use-images): Delete this, it is replaced by
new function `window-tool-bar--style'.
(window-tool-bar--turn-on): Move earlier in file, no changes.
(window-tool-bar-style): New user option supporting all values
`tool-bar-style' supports as well as inheriting from
tool-bar-style.
(window-tool-bar--style): New function to calculate active tool
bar style based on `window-tool-bar-style', `tool-bar-style',
and frame capabilities.
(global-window-tool-bar-mode, window-tool-bar-button)
(window-tool-bar-button-hover, window-tool-bar-button-disabled):
Retroactively add package-version.
(window-tool-bar-button-checked)
(window-tool-bar-button-checked-hover): New faces for :button
item spec.
(window-tool-bar--get-keymap): Call new function
`window-tool-bar--style'.  (Bug#75844)
2025-02-08 13:13:30 +02:00
Nicolas Despres
77ff0df588 Prioritize split along the longest edge by default.
Currently, `split-window-sensibly' prefers to try to split
vertically first, disregarding the actual shape of the frame
or the user preferences.  This is a good default when Emacs
is taller than wider.  However, when Emacs is in full-screen
(landscape screen layout), trying to split vertically may not
be what the user expected, since there is plenty of space
available on the right.

Typical scenario: Emacs is in landscape layout, one buffer is
open in a window covering the entire frame.  Another buffer is
opened in a second window (C-x 4 f). Both splits are feasible
but users may prefer the horizontal one.

This patch preserves the behavior of the `split-height-threshold'
and `split-width-threshold' variables.  Splitting continues not
to be permitted if the edge length is below the threshold.

* lisp/window.el (split-window-sensibly): First tried split
direction follows user preferences.

* etc/NEWS: Add an entry for new variable
`split-window-preferred-direction'.
* doc/emacs/windows.texi: Document new variable.
2025-02-08 10:57:07 +02:00
F. Jason Park
e9408918f4 More clearly define local module behavior in ERC
* doc/misc/erc.texi (Modules): Label all local modules as being such.
Move `querypoll' to the auxiliary section.  Rework entire "Local
Modules" portion.
* lisp/erc/erc-goodies.el (erc-keep-place-indicator-mode)
(erc-command-indicator-mode): Mention what buffer types they operate in.
* lisp/erc/erc-nicks.el (erc-nicks-mode): Mention the mode is enabled in
all buffers.
* lisp/erc/erc-notify.el (erc-querypoll-mode): Mention which buffers it
operates in.
* lisp/erc/erc-sasl.el (erc-sasl-mode): Disable completely in target
buffers so its mode variable is nil.
* lisp/erc/erc-services.el (erc-services-regain-mode): Disable in target
buffers.
* lisp/erc/erc.el (erc-open): When activating local modules, skip those
that have just been enabled by a fellow module.  Do this even though
their setup code is meant to be idempotent.
* test/lisp/erc/erc-scenarios-base-local-modules.el
(erc-scenarios-base-local-modules--toggle-helpers): Revise to assert
current behavior.  (Bug#57955)
2025-02-07 20:21:36 -08:00
Paul Eggert
0e4883f18e Update from Gnulib by running admin/merge-gnulib 2025-02-07 16:52:07 -08:00
João Távora
1ef9de69b3 Eglot: add support for call and type hierarchies
* lisp/progmodes/eglot.el (eglot--lsp-interface-alist): Add new
interfaces.
(eglot-client-capabilities): Advertise support for callHierarchy
and typeHierarchy.
(eglot-ignored-server-capabilities): Add new providers.
(eglot--goto): New helper.
(eglot-menu): Add new menu items.
(eglot-handle-request window/showDocument): Use eglot--goto.
(button, tree-widget): Require them.
(eglot--hierarchy-item): New button type.
(eglot--hierarchy-interactive, eglot--hierarchy-children)
(eglot--hierarchy-label, eglot--hierarchy-1, eglot--hierarchy-2):
New internal functions.
(eglot--define-hierarchy-command): New macro.
(eglot-show-type-hierarchy, eglot-show-call-hierarchy)
(eglot-hierarchy-center-on-node): New commands.
(eglot--hierarchy-roots, eglot--hierarchy-specs): New local variables.
(eglot-hierarchy-label-map): New keymap.
(eglot-hierarchy-mode): New major mode.

* doc/misc/eglot.texi (Eglot Commands, Eglot Features): Describe
new feature.

* etc/EGLOT-NEWS (Changes in upcoming Eglot): Mention new feature.
2025-02-07 12:22:36 +00:00
Michael Albinus
d41178368e New function insert-special-event and special event sleep-event
* doc/lispref/commands.texi (Misc Events): Add sleep-event.
(Special Events): New function insert-special-event.

* etc/NEWS: New function insert-special-event.  New event 'sleep-event'.
Fix typos.

* src/keyboard.c (Finsert_special_event): New defun.
(syms_of_keyboard): Declare Qsleep_event.  Define subroutine
Sinsert_special_event.  Add sleep-event to Vspecial_event_map.
(Bug#63620)
(kbd_buffer_get_event, make_lispy_event)
(init_while_no_input_ignore_events, is_ignored_event):
* src/termhooks.h (event_kind): Add SLEEP_EVENT.
2025-02-07 12:04:05 +01:00
Eli Zaretskii
143f1096da Improve documentation of 'file-name-concat'
* doc/lispref/files.texi (Directory Names):
* src/fileio.c (Ffile_name_concat): Advise not to use
'file-name-concat' unless necessary.  (Bug#76023)
2025-02-06 10:42:04 +02:00
Stefan Monnier
1f4a26df86 Merge remote-tracking branch 'origin/emacs-30' 2025-02-05 20:21:03 -05:00