aboutsummaryrefslogtreecommitdiffstats
path: root/doc/lispref (follow)
Commit message (Collapse)AuthorAgeFilesLines
* (make-progress-reporter): Tweak wording of CONTEXT docStefan Monnier3 hours1-3/+5
|
* Optionally inhibit echo area progress reporting (bug#80198)Stéphane Marks3 hours1-8/+12
| | | | | | | | | | | | | | Add an optional 'context' argument to 'make-progress-reporter' which 'progress-reporter-echo-area' consults to inhibit updates if the context is 'async' and the echo area is busy. * lisp/subr.el (make-progress-reporter): Add the optional 'context' argument. (progress-reporter-context): New defun accessor. (progress-reporter-echo-area): Consult 'progress-reporter-context'. * doc/lispref/display.texi: Document context. * etc/NEWS: Announce context.
* Add frame identifiers (bug#80138)Stéphane Marks40 hours1-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A unique frame id is assigned to a new or cloned frame, and reused on an undeleted frame. The id facilitates unambiguous identification among frames that share identical names or titles, deleted frames where a live frame object no longer exists that we can resurrect by id, for example via 'tab-bar-undo-close-tab'. It also aids debugging at the C level using the frame struct member id. Rewrite 'clone-frame' and 'undelete-frame' to not let bind variables that 'make-frame' uses to avoid conflicts with nested 'make-frame' calls, for example via 'after-make-frame-functions'. * lisp/frame.el (clone-frame, undelete-frame): Use 'frame--purify-parameters' to supply parameters explicitly. (undelete-frame--save-deleted-frame): Save frame id for restoration. (undelete-frame): Restore frame id. (frame--purify-parameters): New defun. (make-frame): Assign a new id for a new or cloned frame, reuse for undeleted frame. * src/frame.h (struct frame): Add id member. (frame_next_id): New extern. * src/frame.c (frame_next_id): New global counter. (frame_set_id, frame_set_id_from_params): New function. (Fframe_id): New DEFUN. (syms_of_frame <Sframe_id>): New defsubr. (syms_of_frame <Qinternal_id>): New DEFSYM. (syms_of_frame <frame_internal_parameters>): Add 'Qinternal_id'. * src/androidfns.c (Fx_create_frame): * src/haikufns.c (Fx_create_frame): * src/nsfns.m (Fx_create_frame): * src/pgtkfns.c (Fx_create_frame): * src/w32fns.c (Fx_create_frame): * src/xfns.c (Fx_create_frame): Call 'frame_set_id_from_params'. * doc/lispref/frames.texi: Add documentation. * etc/NEWS: Announce frame id.
* ; * doc/lispref/streams.texi (Output Functions): Fix markup (bug#80167).Arash Esbati5 days1-1/+1
|
* ; Consistently use "window point" and "buffer point" in Elisp manualMartin Rudalics9 days2-14/+14
| | | | | | | | * doc/lispref/windows.texi (Window History, Window Point) (Window Configurations): * doc/lispref/processes.texi (Filter Functions): Consistently use "window point" and "buffer point" without "the" throughout descriptions.
* In Elisp manual warn about unpredictable changes of point (Bug#79927)Martin Rudalics10 days2-6/+22
| | | | | | | * doc/lispref/positions.texi (Point): Define "buffer point". * doc/lispref/windows.texi (Window Point): Say that buffer point can change in unpredictable ways when windows get selected (Bug#79927).
* New function 'window-cursor-info'RadioNoiseE12 days1-0/+34
| | | | | | | * src/window.c (Fwindow_cursor_info): New function. (syms_of_window): Defsubr it. * doc/lispref/windows.texi (Window Point): Document it. * etc/NEWS: Announce new function. (Bug#80023)
* Add frame parameters 'cloned-from' and 'undeleted' (bug#80104)Stéphane Marks12 days1-1/+16
| | | | | | | | | | | | * lisp/frame.el (clone-frame): Set the frame parameter 'cloned-from'. (undelete-frame): Set the frame parameter 'undeleted'. * src/frame.c (syms_of_frame): <Qcloned_from> <Qundeleted>: New DEFSYM. (syms_of_frame): Add 'Qcloned_from' and 'Qundeleted' to 'frame_internal_parameters'. * doc/lispref/frames.texi: Document these frame parameters. * etc/NEWS: Announce the new frame parameters.
* Support the `reusable-frames' value 0 for `display-buffer-in-tab'Phil Sainty12 days1-0/+2
| | | | | | * lisp/tab-bar.el (tab-bar--reusable-frames): Implement support for the `reusable-frames' value 0, for better consistency with other buffer display actions. (bug#80092)
* Improve documentation for tab-bar buffer display actions (bug#80092)Phil Sainty12 days1-0/+81
| | | | | | | | | | | | | | | | | * doc/lispref/windows.texi: Document the display actions `display-buffer-in-tab' and `display-buffer-in-new-tab' and the associated alist entries `tab-name' and `tab-group'. * lisp/tab-bar.el (display-buffer-in-tab): Restructure docstring for clarity. Describe the `reusable-frames' behaviour first (as if it finds a frame with a suitable tab then the `tab-name' entry is not used). (display-buffer-in-new-tab): Use consistent wording. * lisp/window.el (display-buffer--action-function-custom-type): Add the display actions as customize choices for user options. (display-buffer): Document the display actions and alist entries.
* ; Fix documentation of recent treesit changesEli Zaretskii12 days1-2/+2
| | | | | | | * etc/NEWS: * src/treesit.c (Ftreesit_query_eagerly_compiled_p): * doc/lispref/parsing.texi (Pattern Matching): Fix documentation of the recent treesit-related changes. (Bug#80108)
* Compile queries in treesit-f-l-recompute-features (bug#80108)Yuan Fu13 days1-4/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The direct cause of the problem in the bug report is that when user runs treesit-font-lock-recompute-features to add the emacs-devel feature in c-ts-mode's mode hook, the added query for emacs-devel aren't compiled. This change consists of two parts: 1. The immediate fix: validate and compile queries in treesit-font-lock-recompute-features. 2. To make it more fool-proof, change treesit-font-lock-rules back to compile the queries and make treesit--compile-query-with-cache support compiled queries. This way, as long as the query goes through treesit-font-lock-rules, it'll be compiled eventually and not cause slow-down. I had to add some c-level functions, but they're kind of overdue anyway, so I don't have any problem adding them to the API. * lisp/treesit.el (treesit--compile-query-with-cache): Support compiled queries. (treesit-font-lock-rules): Compile the queries (but not eagerly). (treesit-font-lock-recompute-features): Validate and compile queries. (treesit-major-mode-setup): Remove call to treesit-validate-and-compile-font-lock-rules since it's now called in treesit-font-lock-recompute-features. * src/treesit.c (Ftreesit_query_eagerly_compiled_p): (Ftreesit_query_source): New functions. * doc/lispref/parsing.texi (Pattern Matching): Add manual entries for the new functions.
* ; Add 2026 to copyright years.Sean Whitton13 days58-60/+60
|
* track-changes.el (track-changes-undo-only): New varStefan Monnier2025-12-281-0/+13
| | | | | | | | | | | | | * lisp/emacs-lisp/track-changes.el (track-changes-undo-only): New var. (track-changes-fetch): Bind it. (track-changes--state): New slot `undo`. (track-changes--after): Set it. * lisp/vc/diff-mode.el (diff--track-changes-function): Use the new var. * doc/lispref/text.texi (Tracking changes): Mention `track-changes-undo-only`.
* Don't use the term 'null' for empty stringsMattias Engdegård2025-12-281-8/+8
| | | | | | | | | Zero-length strings are just 'empty'; 'null' can be confusing in several ways. * lisp/subr.el (split-string, string-lines): * doc/lispref/strings.texi (Creating Strings): Change argument names from 'omit-nulls' to 'omit-empty'.
* Clean up split-string documentationMattias Engdegård2025-12-281-61/+13
| | | | | | | | | | | | * doc/lispref/strings.texi (Creating Strings): * lisp/subr.el (split-string): Make it clear that the SEPARATORS argument should not match the empty string, since the behaviour was entirely an artefact of the original implementation in this case; it makes little sense otherwise. Clean up the examples for conciseness and do not waste space on irrelevant details.
* ; * doc/lispref/macros.texi (Indenting Macros): more @xref fix-upsMattias Engdegård2025-12-281-3/+3
|
* ; * doc/lispref/macros.texi (Indenting Macros): Fix xref.Sean Whitton2025-12-281-1/+1
|
* lisp-indent-local-overrides: New variableJonas Bernoulli2025-12-271-0/+22
|
* ; Improve documentation of 'font-spec'Eli Zaretskii2025-12-221-1/+2
| | | | | | * src/font.c (Ffont_spec): * doc/lispref/display.texi (Low-Level Font): More accurate documentation of 'font-spec's arguments.
* Add binary format specifications '%b' and '%B'Jacob S. Gordon2025-12-221-8/+19
| | | | | | | | | | | | | | | | These produce the binary representation of a number. '%#b' and '%#B' prefix with '0b' and '0B', respectively. (bug#79990) * etc/NEWS: Announce change. * doc/lispref/strings.texi (Formatting Strings): Describe new format specs and add to comment on reconstructing the value with 'read'. * src/editfns.c (format): Update doc string. (styled_format): Add support for '%b' and '%B'. To remain portable, avoid use of 'sprintf' by converting by hand. * test/src/editfns-tests.el (format-binary-zero, format-binary-floats) (format-binary-nonzero-integers): Add tests. (read-large-integer): Add binary test cases. Co-authored-by: Paul Eggert <eggert@cs.ucla.edu>
* ; Revert previous commit.Paul Eggert2025-12-211-5/+4
|
* ; Revert wrong doc change about, e.g., "-#xa".Paul Eggert2025-12-211-4/+5
|
* ; * doc/lispref/strings.texi (Formatting Strings): Corrections.Mattias Engdegård2025-12-211-6/+5
|
* Remove binary-as-unsigned (bug#79990)Paul Eggert2025-12-211-3/+8
| | | | | | This experimental variable caused more trouble than it cured: it was rarely used, and when used it tended to be used incorrectly. * src/editfns.c (binary-as-unsigned): Remove. All uses removed.
* ; Fix last commitMichael Albinus2025-12-211-4/+4
| | | | | | * doc/emacs/frames.texi: * doc/lispref/os.texi: * lisp/system-taskbar.el: Fix typos.
* System GUI taskbar and progress reporter hooks (bug#79859)Stéphane Marks2025-12-211-0/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement system GUI taskbar/dock/launcher icon badge, icon progress indicator, icon attention alert features for D-Bus platforms (tested on KDE and GNOME), NS (macOS/GNUstep), MS-Windows. Add 'progress-reporter-update-functions' abnormal hook to facilitate taskbar progress display, and other custom progress reporters. The default function list is 'progress-reporter-echo-area' which is backward compatible. * lisp/subr.el (progress-reporter-update-functions): New defvar. (progress-reporter-echo-area): New defun. (progress-reporter-do-update): Run progress-reporter-update-functions for both numerical and pulsing reporters. (progress-reporter-done): Run progress-reporter-done-functions. * lisp/system-taskbar.el: New file. * src/nsfns.m (Fns_badge, Fns_progress_indicator) (Fns_request_user_attention): New function. (syms_of_nsfns): Add defsubr Sns_badge, Sns_request_user_attention, Sns_progress_indicator. Add DEFSYM Qinformational, Qcritical. * src/w32fns.c (rgb_list_to_colorref, Fw32_badge) (Fw32_request_user_attention, Fw32_progress_indicator): New function. (syms_of_w32fns): Add defsubr Sw32_badge, Sw32_progress_indicator, Sw32_request_user_attention. Add DEFSYM Qinformational, Qcritical. * doc/emacs/frames.texi: User documentation. * doc/lispref/os.texi: Programmer documentation. * etc/NEWS: Announce system-taskbar-mode. Announce progress reporter callback enhancements.
* Don't change visibility of tty root frames (Bug#80032)Martin Rudalics2025-12-201-6/+3
| | | | | | * src/frame.c (Fmake_frame_visible, Fmake_frame_invisible): * doc/lispref/frames.texi (Visibility of Frames): Don't change visibility of tty root frames. (Bug#80032)
* ; cond* docs: Update match* operator name to cdr-ignore (bug#79998).Sean Whitton2025-12-181-1/+1
|
* * doc/lispref/strings.texi (Formatting Strings): Cut obsolete text.Mattias Engdegård2025-12-121-4/+2
| | | | Since we got bignums the output is platform-independent.
* * doc/lispref/eval.texi (Backquote): Clarify and simplify.Mattias Engdegård2025-12-121-2/+1
| | | | | | The previous phrasing could be read as if backquote expansion were mutable if containing substitions, but that is simply not true; they should always be treated as non-mutable.
* New 'R' code letter for 'interactive' formsSean Whitton2025-12-082-9/+19
| | | | | | | | | | | | | | | | | | | * src/callint.c (callint_argfuns): Add use-region-beginning and use-region-end. (syms_of_callint): Protect use-region-beginning and use-region-end. Add DEFSYM for Quse_region_p. (Fcall_interactively): New 'R' code letter. * lisp/textmodes/paragraphs.el (repunctuate-sentences): * lisp/vc/diff-mode.el (diff-delete-other-hunks, diff-apply-hunk) (diff-revert-and-kill-hunk, diff-apply-buffer): * lisp/vc/log-view.el (log-view-mark-entry) (log-view-unmark-entry): Use it. * doc/lispref/commands.texi (Interactive Codes): * doc/lispref/markers.texi (The Region): * etc/NEWS: * lisp/simple.el (use-region-beginning, use-region-end) (use-region-p): * src/callint.c (Finteractive): Document it.
* Merge from origin/emacs-30Eli Zaretskii2025-12-061-5/+14
|\ | | | | | | | | | | | | | | 998d45d5d10 ; * lisp/calc/calc-units.el: Better reference for CODATA ... fae83f1eb8b ; Improve documentation of 'char-script-table' 3e489ed8049 ; * src/font.c (Flist_fonts): Doc fix. 4c292b6f703 ; vc-dir-clean-files: Improve docstring and message (bug#... 8a6b84dbcbc Fix doc string of 'display-buffer'
| * ; Improve documentation of 'char-script-table'Eli Zaretskii2025-12-041-5/+14
| | | | | | | | | | * doc/lispref/nonascii.texi (Character Properties): Improve indexing and document how to produce the list of all scripts.
* | Improve documentation of 'seq-intersection'Eli Zaretskii2025-12-061-4/+5
| | | | | | | | | | | | * doc/lispref/sequences.texi (Sequence Functions): * lisp/emacs-lisp/seq.el (seq-intersection): Clarify the documentation of 'seq-intersection'. (Bug#79844)
* | Fix documentation of 'alpha-background' frame parameterEli Zaretskii2025-11-221-1/+3
| | | | | | | | | | | | * doc/lispref/frames.texi (Font and Color Parameters): Fix documentation of values of 'alpha-background'. Suggested by Jacob S. Gordon <jacob.as.gordon@gmail.com>. (Bug#79861)
* | ; Fix last changeEli Zaretskii2025-11-221-5/+6
| | | | | | | | | | * doc/lispref/variables.texi (Selecting Lisp Dialect): Update due to bug#79760.
* | ; Improve documentation of 'clone-of' window parameterMartin Rudalics2025-11-161-13/+20
| | | | | | | | | | | | | | * lisp/window.el (window-state-get, window-state-put): Mention 'clone-of' parameter in doc-strings. * doc/lispref/windows.texi (Window Configurations, Window Parameters): Improve description of 'clone-of' parameter.
* | (load-history, lisp-directory): Don't `file-truename`Stefan Monnier2025-11-051-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes problems in some cases of out-f-tree builds (bug#79694, bug#62099, bug#64806). The use of true names in `load-history` dates back to to commits 33d74677e739 and 6bb6da3ec173 by Alan Mackenzie <acm@muc.de> in May 24 2006, but that was reverted by Paul Eggert's commit dff4f9c759f5 on Sep 18 2019. * lisp/startup.el (command-line): Don't `file-truename` `lisp-directory`. * src/lread.c (syms_of_lread) <load-history>: Adjust docstring, to reflect the fact that the files there aren't "true names". * doc/lispref/loading.texi (Hooks for Loading): Adjust accordingly. Also massage the text to reflect the fact that nowadays features are more common than file names as arguments to `with-eval-after-load`.
* | Further document cond*'s bind-and*, document cond-let* discussionSean Whitton2025-11-051-2/+26
| | | | | | | | | | | | | | | | * doc/lispref/control.texi (Conditionals): Pointer to cond*'s bind-and* clauses for Lisp programmers looking for a cond-let*. (cond* Macro): Document bind-and* clauses. * lisp/subr.el: Comment summarizing recent discussion, for future Emacs developers wondering about cond-let*.
* | ; * doc/lispref/objects.texi (Equality Predicates): Restore @group.Eli Zaretskii2025-11-041-1/+14
| |
* | Improved examples for documentation of 'eq'Mattias Engdegård2025-11-041-59/+26
| | | | | | | | | | | | * doc/lispref/objects.texi (Equality Predicates): Remove incorrect and/or misleading examples, add new ones, and display them more compactly to save space.
* | Change tree-sitter query predicate names (bug#79687)Yuan Fu2025-11-021-13/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Latest tree-sitter library throws a syntax error if the predicate names in a query don't end with question mark. So we made the following change: :equal changed to :eq? :match changed to :match? :pred changed to :pred? Old names are transparently converted to new names when expanding patterns. :match predicate can now take the regexp and the node in any order: it'll figure out which is which automatically. This way it works with current Emacs convention (regexp first), as well as tree-sitter's match convention (regexp second). * doc/lispref/parsing.texi (Pattern Matching): Update manuel to use new predicate names. * src/treesit.c: (Ftreesit_pattern_expand): (Ftreesit_query_expand): (treesit_predicate_match): (treesit_eval_predicates): (syms_of_treesit): Use new predicate names. * test/src/treesit-tests.el (treesit-query-api): Update test.
* | Handle resizing of fullscreen frames more consistently (Bug#79704)Martin Rudalics2025-11-021-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/frame.c (adjust_frame_size): Honor new option 'alter-fullscreen-frames'. (syms_of_frame) <alter-fullscreen-frames>: New option to maintain consistent state when attempting to resize fullscreen frames. Default to 'inhibit' for NS builds because these resized the frame while leaving the 'fullscreen' parameter alone (Bug#79704). (syms_of_frame) <Qinhibit>: Define symbol. * lisp/cus-start.el (standard): Add customization options for 'alter-fullscreen-frames' * doc/lispref/frames.texi (Frame Size): Describe new option 'alter-fullscreen-frames'. * etc/NEWS: Call out new option 'alter-fullscreen-frames'.
* | ; * doc/lispref/commands.texi (Reading One Event): Fix wording.Eli Zaretskii2025-11-021-7/+10
| |
* | 'read-multiple-choice' now uses the minibuffer to read a char (bug#79664)Juri Linkov2025-11-011-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/commands.texi (Reading One Event): Mention 'read-char-choice-use-read-key'. * lisp/emacs-lisp/rmc.el (rmc--show-help): Show non-selected resized Help window at bottom. Inhibit useless message. Remove unnecessary call to 'pop-to-buffer'. (read-multiple-choice): Call 'read-multiple-choice--from-minibuffer' when 'read-char-choice-use-read-key' is nil. (read-multiple-choice--from-minibuffer): New function. * test/lisp/emacs-lisp/rmc-tests.el (test-rmc--with-minibuffer-setup): New macro. (test-read-multiple-choice, test-read-multiple-choice-help): Test both values of 'read-char-choice-use-read-key'.
* | Merge from origin/emacs-30Eli Zaretskii2025-11-011-10/+11
|\ \ | |/ | | | | 0974418f2a8 Improve and correct documentation of 'font-lock-keywords-...
| * Improve and correct documentation of 'font-lock-keywords-only'Eli Zaretskii2025-10-251-10/+11
| | | | | | | | | | | | * lisp/font-lock.el (font-lock-keywords-only): * doc/lispref/modes.texi (Syntactic Font Lock): Improve documentation of 'font-lock-keywords-only'. (Bug#79692)
* | ; Document how to search for raw bytesEli Zaretskii2025-10-301-0/+6
| | | | | | | | | | | | * doc/emacs/search.texi (Regexps): * doc/lispref/searching.texi (Regexp Special): Document how to search for raw bytes. (Bug#79724)
* | (cl-defstruct): Use `define-inline`Stefan Monnier2025-10-261-1/+3
| | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/inline.el (define-inline): Add `noinline` declaration. * doc/lispref/functions.texi (Inline Functions): Mention it. * lisp/emacs-lisp/cl-macs.el (cl--do-arglist): Avoid %s for lists in format string. (cl-dolist, cl-dotimes): Remove obsolete optimization. (cl-defstruct): Use `define-inline` instead of `cl-defsubst` for accessors.