Commit graph

5760 commits

Author SHA1 Message Date
Arash Esbati
a9be5c7ea9 ; * doc/lispref/control.texi (Conditionals): Add missing paren (bug#69742). 2024-03-12 17:05:14 +02:00
Po Lu
7ea3a46403 Resolve inconsistency between Android and XDG notifications
* doc/lispref/os.texi (Desktop Notifications):

* src/androidselect.c (android_notifications_notify_1)
(Fandroid_notifications_notify, android_notification_action)
(syms_of_androidselect): Rename `:on-cancel' to `:on-close'.
2024-03-12 09:59:27 +08:00
Po Lu
d7ded99608 Implement notification residency on Android
* doc/lispref/os.texi (Desktop Notifications): Document support
for `:resident'.

* java/org/gnu/emacs/EmacsService.java (cancelNotification):

* src/android.c (android_init_emacs_service):

* src/android.h (struct android_emacs_service): New function.

* src/androidselect.c (android_notifications_notify_1)
(Fandroid_notifications_notify): New parameter QCresident; save
it within notification lists.
(android_notification_deleted, android_notification_action):
Adjust for changes to the format of notification lists and
cancel non-resident notifications when an action is selected.
(syms_of_androidselect): <QCresident>: New symbol.
2024-03-12 09:48:53 +08:00
Po Lu
a7a37341ca Implement notification callbacks on Android
* doc/lispref/os.texi (Desktop Notifications): Document that
:on-cancel, :on-action and :actions are now supported on
Android.

* java/org/gnu/emacs/EmacsActivity.java (onNewIntent): New
function.

* java/org/gnu/emacs/EmacsDesktopNotification.java
(NOTIFICATION_ACTION, NOTIFICATION_TAG, NOTIFICATION_DISMISSED):
New constants.  <actions, titles>: New fields.
(insertActions): New function.
(display1, display): Insert actions on Jelly Bean and up, and
arrange to be notified when the notification is dismissed.
(CancellationReceiver): New class.

* java/org/gnu/emacs/EmacsNative.java (sendNotificationDeleted)
(sendNotificationAction): New functions.

* src/android.c (sendDndDrag, sendDndUri, sendDndText): Correct
return types.
(sendNotificationDeleted, sendNotificationAction)
(android_exception_check_5, android_exception_check_6): New
functions.

* src/android.h:

* src/androidgui.h (struct android_notification_event): New
structure.
(union android_event): New member for notification events.

* src/androidselect.c (android_init_emacs_desktop_notification):
Update JNI signatures.
(android_notifications_notify_1, Fandroid_notifications_notify):
New arguments ACTIONS, ACTION_CB and CANCEL_CB.  Convert and
record them as appropriate.
(android_notification_deleted, android_notification_action): New
functions.
(syms_of_androidselect): Prepare a hash table of outstanding
notifications.
<QCactions, QCon_action, QCon_cancel> New defsyms.

* src/androidterm.c (handle_one_android_event)
<ANDROID_NOTIFICATION_DELETED>
<ANDROID_NOTIFICATION_ACTION>: Dispatch event contents to
androidselect.c for processing.

* src/androidterm.h:

* src/androidvfs.c (java_string_class): Export.

* src/keyboard.c (kbd_buffer_get_event) <NOTIFICATION_EVENT>:
Call callback specified by the event.

* src/termhooks.h (enum event_kind) [HAVE_ANDROID]: New
enum NOTIFICATION_EVENT.
2024-03-11 21:41:14 +08:00
Paul Eggert
2d61ebb505 Change bare-symbol back to match intent
Also, attempt to document the intent better.
Problem reported by Alan Mackenzie (Bug#69684).
* src/data.c (Fbare_symbol): Do not signal if the SYM is a symbol
with position and symbols-with-pos-enabled is nil.  Instead,
ignore symbols-with-pos-enabled, as that was the intent.
* test/src/data-tests.el (data-tests-bare-symbol):
New test, to help prevent this bug from reoccurring.
2024-03-11 00:34:27 -07:00
Andreas Schwab
887789eecc Avoid dependency on nonexisting target in lispref makefile
* doc/lispref/Makefile.in (auxfiles): Change target into a
variable.
($(buildinfodir)/elisp.info): Adjust dependency.
(infoclean): Clean $(auxfiles).
2024-03-10 23:05:47 +01:00
Stefan Monnier
c17ecd2dcd syncdoc-type-hierarchy.el: Sort and remove comp dependency
* admin/syncdoc-type-hierarchy.el: Delay loading `org-table` so as
not to "pollute" the table with Org-specific types.
(syncdoc-all-types): Sort the types topologically from the root.
(syncdoc-hierarchy): Use `cl--class-parents` instead if
`comp--direct-supertypes` so we don't depend on `comp-cstr`.
(syncdoc-make-type-table): Sort the table so supertypes always come before
their subtypes.
(syncdoc-make-type-table): Require `org-table` here.

* doc/lispref/elisp_type_hierarchy.jpg:
* doc/lispref/elisp_type_hierarchy.txt: Refresh.
2024-03-10 15:12:00 -04:00
Andrea Corallo
3be70a13d7 Run 'syncdoc-update-type-hierarchy'.
* doc/lispref/elisp_type_hierarchy.jpg: Update.
	* doc/lispref/elisp_type_hierarchy.txt: Likewise.
2024-03-09 16:20:17 +01:00
Eli Zaretskii
7405f0340b Merge from origin/emacs-29
b9f7a2274f ; Improve documentation of 'minibuffer-allow-text-propert...
5ffcca121b ; Improve documentation of image properties
6e801077ae ; * src/composite.c (composition_compute_stop_pos): Add c...
2024-03-09 04:18:53 -05:00
Eli Zaretskii
b9f7a2274f ; Improve documentation of 'minibuffer-allow-text-properties'
* doc/lispref/minibuf.texi (Text from Minibuffer): Document the
default value of 'minibuffer-allow-text-properties'.
2024-03-08 15:06:37 +02:00
Mattias Engdegård
61b2f5f96b Single string literal in body is return value only, not doc string
A function or macro body consisting of a single string literal now only
uses it as a return value.  Previously, it had the dual uses as return
value and doc string, which was never what the programmer wanted and
had some inconvenient consequences (bug#69387).

This change applies to `lambda`, `defun`, `defsubst` and `defmacro`
forms; most other defining forms already worked in the sensible way.

* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda):
Don't use a lone string literal as doc string.
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defun.el
(foo): Update docstring warning test.
* doc/lispref/functions.texi (Function Documentation): Update.
* etc/NEWS: Announce.
2024-03-07 13:47:53 +01:00
Eli Zaretskii
5ffcca121b ; Improve documentation of image properties
* lisp/image.el (create-image, image-property): Add to do strings
link to description of image properties in ELisp manual.

* doc/lispref/display.texi (Defining Images): Fix example and add
cross-reference to where image properties are described.
(Image Descriptors): Add index entry.
2024-03-07 10:11:44 +02:00
Andrea Corallo
415604c7a7 Rename type_hierarchy.* -> elisp_type_hierarchy.*
* doc/lispref/elisp_type_hierarchy.txt: Renamed.
* doc/lispref/elisp_type_hierarchy.jpg: Likewise.
* doc/lispref/Makefile.in (auxfiles)
($(buildinfodir)/elisp_type_hierarchy.txt)
($(buildinfodir)/elisp_type_hierarchy.jpg): Update.
* admin/syncdoc-type-hierarchy.el (syncdoc-update-type-hierarchy0): Likewise.
* Makefile.in (install-info, uninstall): Likewise.
2024-03-06 17:13:38 +01:00
Andrea Corallo
a5d3ce38fa Re-generate type_hierarchy.*
* doc/lispref/type_hierarchy.txt: Update.
* doc/lispref/type_hierarchy.jpg: Likewise.
2024-03-06 17:13:38 +01:00
Andrea Corallo
3023976b48 * Copy type hierarchy representation to the info dir
* doc/lispref/Makefile.in (auxfiles)
($(buildinfodir)/type_hierarchy.txt)
($(buildinfodir)/type_hierarchy.jpg): New targets.
($(buildinfodir)/elisp.info): Add dependecy.
2024-03-05 12:06:44 +01:00
Stefan Monnier
418ad866bf cl-preloaded.el: Further fine-tuning
* lisp/emacs-lisp/cl-preloaded.el (cl--direct-supertypes-of-type):
Fix some left over issues:
- Remove redundant `number-or-marker` from `marker`s parents.
- Add `function` to the types, since it was missing.
(cl--typeof-types): Add a warning for missing type info.

* admin/syncdoc-type-hierarchy.el (syncdoc-hierarchy): Fix parent of
`oclosure`.

* doc/lispref/type_hierarchy.txt:
* doc/lispref/type_hierarchy.jpg: Update.
2024-03-04 23:12:29 -05:00
Martin Rudalics
912e37b811 Fix 'set-window-configuration' and 'window-state-put'
Fix some bugs with 'window-state-put' (Bug#69093).  Add new
hook 'window-kept-windows-functions' (Bug#68235).

* doc/lispref/windows.texi (Window Configurations): Mention
'window-kept-windows-functions'.
(Window Hooks): Describe new abnormal hook
'window-kept-windows-functions'.
* src/marker.c (Fmarker_last_position): New function to return
the last position of a marker even if its buffer is now dead.
* src/window.c (Fset_window_configuration): If
'window-kept-windows-functions' is non-nil, do not delete any
window whose buffer is now dead but remember all such windows in
a list to pass to 'window-kept-windows-functions'.  Run
'window-kept-windows-functions' if it is non-nil.
(Vwindow_kept_windows_functions): New abnormal hook run by
Fset_window_configuration and 'window-state-put' with two
arguments - the frame whose configuration is restored and a list
of entries for each window whose buffer was found dead during
restoration.  Each entry is a list of four elements, the window,
the dead buffer, and the last know positions of the start and
point of that window.
* lisp/window.el (window-state-put-kept-windows)
(window-state-put-selected-window): New variables.
(window--state-put-2): Make sure buffer is live before restoring
its state.  Set 'window-state-put-selected-window' to state's
selected window.  If 'window-kept-windows-functions' is non-nil,
do not delete any windows whose buffer is found dead but
remember all such windows in a list to pass to
'window-kept-windows-functions'.
(window-state-put): Run 'window-kept-windows-functions' if it is
non-nil.  Select window recorded in
'window-state-put-selected-window'.
2024-03-04 10:33:49 +01:00
Stefan Monnier
2b5d43081a (major-mode-remap(-defaults)): New var and function (bug#69191)
While `major-mode-remap-alist` provides a way for users to indicate the
major mode of their choice, we need a similar variable for the
use of packages.

This patch adds a new `major-mode-remap-defaults` and changes various
packages to obey it or make use of it.
I think it nicely cleans the regexp duplication between CC-mode and
`c-ts-mode.el` and also makes it easier/cleaner for users to override
the changes made by `*-ts-mode.el`.

* lisp/files.el (major-mode-remap-defaults): New variable.
(major-mode-remap): New function.
(set-auto-mode-0): Use it.
* doc/lispref/modes.texi (Auto Major Mode): Document them.

* lisp/textmodes/tex-mode.el (tex--redirect-to-submode):
Use `major-mode-remap`.
(major-mode-remap-defaults): Set it to remap AUCTeX modes by default.
* lisp/progmodes/ruby-ts-mode.el (auto-mode-alist): Leave it alone.
(major-mode-remap-defaults): Set this one instead.
* lisp/progmodes/c-ts-mode.el (c-or-c++-ts-mode): Use `major-mode-remap`.
(auto-mode-alist): Leave it alone.
(major-mode-remap-defaults): Set this one instead.
* lisp/org/ox.el (org-export-to-buffer): Modernize docstring accordingly.
* lisp/progmodes/cc-mode.el (c-or-c++-mode):
* lisp/org/ox-latex.el (org-latex-export-as-latex):
* lisp/org/ox-koma-letter.el (org-koma-letter-export-as-latex):
* lisp/org/ox-beamer.el (org-beamer-export-as-latex):
Use `major-mode-remap` when available.
2024-03-03 23:58:18 -05:00
Juri Linkov
51b560b45b * doc/lispref/modes.texi (Tabulated List Mode): Unindent example. 2024-03-02 19:12:29 +02:00
Eli Zaretskii
31a4bec609 Fix documentation of last change
* doc/lispref/objects.texi (Type Hierarchy): Fix wording and
markup.
* doc/lispref/elisp.texi (Top): Add new node to @detailmenu.
2024-03-01 10:52:50 +02:00
Andrea Corallo
c55694785e Merge branch 'feature/type-hierarchy' into 'master' 2024-03-01 09:30:44 +01:00
Andrea Corallo
4372a056fe * doc/lispref/objects.texi (Type Hierarchy): Small improvements 2024-03-01 09:27:22 +01:00
Eli Zaretskii
4dd4f145b8 ; Improve documentation of last changeset (bug#69305)
* etc/NEWS (Example):
* doc/lispref/modes.texi (Tabulated List Mode): Improve
documentation of 'Buffer-menu-group-by' and
'tabulated-list-groups'.

* lisp/buff-menu.el (Buffer-menu-group-by): Doc fix.
2024-02-29 20:57:12 +02:00
Juri Linkov
8305d0e0c9 Add tabulated-list-groups and Buffer-menu-group-by (bug#69305)
* doc/lispref/modes.texi (Tabulated List Mode):
Add defvar tabulated-list-groups.

* lisp/buff-menu.el (Buffer-menu-group-by): New defcustom.
(Buffer-menu-unmark-all-buffers): Use tabulated-list-get-entry
to check whether the current line contains an entry.
(list-buffers-noselect): Enable outline-minor-mode
for tabulated-list-groups.
(list-buffers--refresh): When Buffer-menu-group-by is non-nil,
set tabulated-list-groups.
(Buffer-menu-group-by-mode, Buffer-menu-group-by-root):
New functions.

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-groups):
New buffer-local variable.
(tabulated-list-print-fake-header): Add distinct overlay
property 'fake-header'.
(tabulated-list-header-overlay-p): Filter out overlays that
don't have the property 'fake-header'.
(tabulated-list-print): Use the variable 'tabulated-list-groups'
to sort entries in groups separately.
(tabulated-list-print-entries): New function factored out from
'tabulated-list-print'.

* test/lisp/emacs-lisp/tabulated-list-tests.el (tabulated-list-groups):
New test.
2024-02-29 19:50:04 +02:00
Basil L. Contovounesios
093c2e1ab9 ; Fix some wording in recent obarray changes. 2024-02-29 16:25:26 +01:00
Andrea Corallo
f8311e8b44 Run syncdoc-type-hierarchy.el to follow obarray type introduction
* doc/lispref/type_hierarchy.jpg: Update.
* doc/lispref/type_hierarchy.txt: Likewise.
2024-02-28 21:12:27 +01:00
Andrea Corallo
1fbe56c327 Merge remote-tracking branch 'origin/master' into 'feature/type-hierarchy' 2024-02-28 20:47:57 +01:00
Michael Albinus
39e3fce0d5 'read-passwd' can toggle the visibility of passwords
* doc/lispref/minibuf.texi (Reading a Password):
* etc/NEWS: 'read-passwd' can toggle the visibility of passwords.

* etc/images/README: Mention the new images below.
* etc/images/conceal.pbm:
* etc/images/conceal.svg:
* etc/images/reveal.pbm:
* etc/images/reveal.svg: New images.

* lisp/simple.el (read-passwd--mode-line-buffer)
(read-passwd--mode-line-icon): New defvars.
(read-passwd--toggle-visibility, read-passwd-mode): New defuns.

* lisp/subr.el (read-passwd-map): Add 'TAB' binding.
(read-passwd--hide-password): New defvar.
(read-passwd--hide-password): Rename function from
`read-password--hide-password'.  Adapt callees.  Implement both
hiding and showing the password.  (Bug#69237)
(read-passwd): Call `read-passwd-mode'.
2024-02-25 10:06:09 +01:00
Eli Zaretskii
229b3edb07 Merge from origin/emacs-29
01ebc95114 Fix 'help-quick-toggle'
afe49c7e2a ; * admin/authors.el (authors-aliases): Fix last change.
8b1f10f8cf ; Normalize Morgan Smith's attributions.
70cf4b694b ; * etc/PROBLEMS: Describe input lags due to GTK IM (bug#...
f28a557c7d * doc/lispref/modes.texi (Tabulated List Mode): Update.
d6131b5902 * lisp/net/tramp.el (tramp-methods): Fix typo in docstrin...
2eb85a9de1 ; * lisp/emacs-lisp/pcase.el (pcase-let*, pcase-let): Ano...
4c6653f23a ; * lisp/emacs-lisp/pcase.el (pcase-let*, pcase-let): Doc...
5a64d2c759 java-ts-mode: Indentation for opening brace on a separate...
9e56bd5ed8 Removed decommissioned PGP keyservers
e56f0ef51b org: Fix security prompt for downloading remote resource
65ba327465 Revert "Update to Org 9.6.19"
07a392f445 Update to Org 9.6.19
2024-02-24 06:35:16 -05:00
Mattias Engdegård
6803b70c19 Update NEWS and manual after obarray changes
* doc/lispref/abbrevs.texi (Abbrev Tables):
* doc/lispref/symbols.texi (Creating Symbols):
* doc/lispref/objects.texi (Type Predicates): Update text for obarray
now being an opaque type.
* etc/NEWS: Announce.
2024-02-23 13:02:27 +01:00
Juri Linkov
f28a557c7d * doc/lispref/modes.texi (Tabulated List Mode): Update.
In the description of 'tabulated-list-format' document
the missing value 'props' that was added long ago.
2024-02-21 19:43:28 +02:00
Andrea Corallo
0393bfdc91 Make type hierarchy textual representation a table
* etc/syncdoc-type-hierarchy.el (syncdoc-make-type-table): New function.
(syncdoc-update-type-hierarchy): Make use of.
* doc/lispref/type_hierarchy.txt: Regenerate.
2024-02-19 17:47:37 +01:00
Andrea Corallo
24e8fceb96 Fix typo in 'cl--type-hierarchy'
* lisp/emacs-lisp/cl-preloaded.el (cl--type-hierarchy): Fix typo.
* doc/lispref/type_hierarchy.txt: Regenerate.
* doc/lispref/type_hierarchy.jpg: Likewise.
2024-02-18 20:12:38 +01:00
Eli Zaretskii
e6dae47d71 Merge from origin/emacs-29
45f9af61b8 Remove references to phst@google.com.
7256690a3c * BUGS: Note how to report critical security issues.
1035669b38 Add cross-reference to ELisp manual Caveats
61a1450762 Improve directory prompt used by package-vc-checkout
0c7c8210cb Minor Tramp doc adaption
df243f785d Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
17a395e04c ;; Fix typo in the Tramp documentation
614b244a7f * Improve reproducibility of inferred values by native comp
9f9da26e0d Handle typescript ts grammar breaking change for function...
717d8c4285 Don't quote 't' in doc strings
2024-02-17 04:54:48 -05:00
Andrea Corallo
74f060230f * Add initial "Type Hierarchy" node to the elisp manual
* doc/lispref/objects.texi (Lisp Data Types, Type Hierarchy): Add
Type Hierarchy node.
2024-02-15 16:48:36 +01:00
Andrea Corallo
3211825fe7 Generate automatically graphical and textual type hierarchy representation
* etc/syncdoc-type-hierarchy.el: New file.
* doc/lispref/type_hierarchy.txt: Likewise.
* doc/lispref/type_hierarchy.jpg: Likewise.
2024-02-15 16:48:36 +01:00
Stefan Kangas
1035669b38 Add cross-reference to ELisp manual Caveats
* doc/lispref/intro.texi (Caveats): Add cross-reference to Emacs manual.
Talking about "contributing code" makes little sense in a section about
reporting mistakes in the ELisp manual, so skip that part.
2024-02-15 00:44:55 +01:00
Juri Linkov
3b90e5052c Tree-sitter support for outline-minor-mode (bug#68824)
* doc/emacs/text.texi (Outline Format): Add 'outline-search-function'.

* doc/lispref/elisp.texi (Top): Add new menu item "Outline Minor Mode"
after "Imenu".

* doc/lispref/modes.texi (Modes): Add new menu item "Outline Minor Mode"
after "Imenu".
(Major Mode Conventions): Mention "Outline Minor Mode" with @pxref.
(Outline Minor Mode): New node.

* doc/lispref/parsing.texi (Tree-sitter Major Modes): Mention
'treesit-outline-predicate' with @pxref.

* lisp/treesit.el (treesit-outline-predicate): New buffer-local variable.
(treesit-outline-predicate--from-imenu): New internal function.
(treesit-outline-search, treesit-outline-level): New functions.
(treesit-major-mode-setup): Set up treesit-outline-predicate,
outline-search-function and outline-level.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--outline-predicate):
New internal function.
(c-ts-base-mode): Set 'treesit-outline-predicate' to
'c-ts-mode--outline-predicate'.

* lisp/progmodes/heex-ts-mode.el (heex-ts-mode): Kill inherited
local variables 'outline-heading-end-regexp', 'outline-regexp',
'outline-level'.

* lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Remove 'outline-regexp'.
Suggested by john muhl <jm@pub.pink>.

* lisp/textmodes/html-ts-mode.el (html-ts-mode): Kill inherited
local variables 'outline-heading-end-regexp', 'outline-regexp',
'outline-level'.
2024-02-12 20:18:24 +02:00
Stefan Monnier
806759dc0a (pcase): New _ syntax in pred/app functions
The current syntax for functions in `app` and `pred` patterns
allows a shorthand (F ARGS) where the object being matched is
added as an extra last argument.  This is nice for things like
(pred (< 5)) but sometimes the object needs to be at
another position.
Until now you had to use (pred (lambda (x) (memq x my-list)))
or (pred (pcase--flip memq my-list)) in those cases.
So, introduce a new shorthand where `_` can be used to indicate
where the object should be passed: (pred (memq _ my-list))

* lisp/emacs-lisp/pcase.el (pcase--split-pred): Document new syntax
for pred/app functions.
(pcase--funcall): Support new syntax.
(pcase--flip): Declare obsolete.
(pcase--u1, \`): Use `_` instead.
(pcase--split-pred): Adjust accordingly.

* doc/lispref/control.texi (pcase Macro): Document new syntax
for pred/app functions.

* lisp/progmodes/opascal.el (pcase-defmacro):
* lisp/emacs-lisp/seq.el (seq--make-pcase-bindings):
* lisp/emacs-lisp/eieio.el (eieio):
* lisp/emacs-lisp/cl-macs.el (cl-struct, cl-type):
Use _ instead of `pcase--flip`.
(cl--pcase-mutually-exclusive-p): Adjust accordingly.

* lisp/emacs-lisp/map.el (map--pcase-map-elt): Declare obsolete.
(map--make-pcase-bindings): Use `_` instead.
2024-02-11 22:00:44 -05:00
Philip Kaludercic
db195116a4 Add the public API of Compat to the core
* lisp/emacs-lisp/compat.el: Add stub file with minimal definitions,
so that core packages, that haven't been installed from ELPA, can make
use of the public API and use more recent function signatures.
* lisp/progmodes/python.el (compat): Remove 'noerror flag, because
Compat can now be required without the real package being available.
* doc/lispref/package.texi (Forwards-Compatibility): Mention Compat
and link to the manual.
* etc/NEWS: Document change.  (Bug#66554)
2024-02-11 22:50:29 +01:00
Eli Zaretskii
22d500ce21 Merge from origin/emacs-29
7d3a144486 ; Mention defface's and their :version tags in CONTRIBUTE.
09c53b717d * admin/notes/kind-communication: New file.
31ca4e5501 ; And another fix of CONTRIBUTE.
d65499e790 ; Another clarification in CONTRIBUTE.
571ec583d6 ; Clarify "ChangeLog entries" in CONTRIBUTE.
e268231686 Don't skip links to "." and ".." in Dired when marking files
e25d11314d Pass unquoted filename to user-supplied MUSTMATCH predicate
4749699370 * doc/lispref/parsing.texi (Retrieving Nodes): Improve do...
d0673ea0d4 ; * etc/PROBLEMS: Workaround for Windows key "stuck" (bug...

* lisp/emacs-lisp/trace.el:
* java/org/gnu/emacs/EmacsWindow.java (onDragEvent): Remove
training whitespace.
2024-02-10 05:07:56 -05:00
Yuan Fu
be6de56906
Use treesit-node-match-p in treesit-parent-until/while
* lisp/treesit.el (treesit-parent-until): Use treesit-node-match-p.
(treesit-parent-while): Update docstring.
* doc/lispref/parsing.texi (Retrieving Nodes): Update docstring.
2024-02-04 20:13:59 -08:00
Juri Linkov
4749699370 * doc/lispref/parsing.texi (Retrieving Nodes): Improve documentation.
Update optional arguments 'predicate' and 'include-node'
of 'treesit-node-top-level'.
2024-02-04 19:22:21 +02:00
João Távora
c2aaa8f15a Process read-symbol-shorthands from longest to shortest (bug#67390)
This ensures that overlapping shorthands are handled correctly and
consistently even if specified out-of-order by the user.

* doc/lispref/symbols.texi (Shorthands): Describe shorthand sort
order.

* lisp/files.el (hack-local-variables--find-variables): Specially
handle read-symbol-shorthands.
2024-02-03 08:40:03 -06:00
Eli Zaretskii
e2d1ac2f25 ; * doc/lispref/sequences.texi (Sequence Functions): Fix typo. 2024-02-02 18:33:54 +02:00
Eli Zaretskii
02bdb1e4c5 ; Another fix of last change. 2024-02-02 17:46:19 +02:00
Eli Zaretskii
f9a15b8a15 ; Fix last change
* lisp/sort.el (sort-on): Doc fix.

* doc/lispref/sequences.texi (Sequence Functions): Fix description
of 'sort-on'.
2024-02-02 17:39:23 +02:00
Eli Zaretskii
dcce1e07fe ; Fix last change
* doc/lispref/sequences.texi (Sequence Functions): Improve
indexing of last change
2024-02-02 15:27:25 +02:00
Eli Zaretskii
4b79c80c99 New function 'sort-on'
* lisp/sort.el (sort-on): New function.  Patch by John Wiegley
<jwiegley@gmail.com>.

* etc/NEWS:
* doc/lispref/sequences.texi (Sequence Functions): Document
'sort-on'.
2024-02-02 15:24:55 +02:00
Mattias Engdegård
9bcc9690a8 Eliminate lazy bytecode loading
The obsolete lazy-loaded bytecode feature, enabled by
`byte-compile-dynamic`, slows down Lisp execution even when not in use
because every call to a bytecode function has to check that function
for laziness.

This change forces up-front loading of all lazy bytecode so that we
can remove all those checks.  (Dynamically loaded doc strings are not
affected.)

There is no point in generating lazy bytecode any more so we stop
doing that; this simplifies the compiler.  `byte-compile-dynamic` now
has no effect.

This is a fully compatible change; the few remaining users of
`byte-compile-dynamic` should not notice any difference.

* src/lread.c (bytecode_from_rev_list): Force eager loading of
lazy bytecode.
* src/bytecode.c (exec_byte_code): Remove lazy bytecode checks.
* src/eval.c (fetch_and_exec_byte_code, Ffetch_bytecode): Remove.
(funcall_lambda): Call exec_byte_code directly, avoiding checks.
* lisp/subr.el (fetch-bytecode): New definition, obsolete no-op.
* lisp/emacs-lisp/disass.el (disassemble-1):
* lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf):
Remove calls to fetch-bytecode.
(byte-compile-dynamic): Update doc string.
(byte-compile-close-variables, byte-compile-from-buffer)
(byte-compile-insert-header, byte-compile-output-file-form)
(byte-compile--output-docform-recurse, byte-compile-output-docform)
(byte-compile-file-form-defmumble):
Remove effects of byte-compile-dynamic.
* doc/lispref/compile.texi (Dynamic Loading): Remove node now that
the entire `byte-compile-dynamic` facility has been rendered inert.
* etc/NEWS: Announce changes.
2024-01-31 17:12:25 +01:00