aboutsummaryrefslogtreecommitdiffstats
path: root/doc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add function `string-common-prefix'scratch/string-common-prefixPhil Sainty2026-01-242-0/+40
| | | | | | | | | | * lisp/subr.el: (string-common-prefix): New function. * etc/NEWS: * doc/lispref/strings.texi: * doc/lispref/minibuf.texi: * lisp/emacs-lisp/shortdoc.el: Documentation.
* Jsonrpc: don't let remote endpoint requests go unansweredJoão Távora2026-01-211-6/+15
| | | | | | | | | | | | Previously, 'quit' could cause remote endpoints to never get a reply and thus sometimes hang. Ensure we always reply. Also, give the application a chance to signal jsonrpc-error with the served code=32000, meaning "no error". * doc/lispref/text.texi (JSONRPC Overview): Rework section on request dispatchers. * lisp/jsonrpc.el (jsonrpc-connection-receive): Rework.
* ; * doc/lispref/internals.texi (Garbage Collection): typoMattias Engdegård2026-01-211-1/+1
|
* * doc/misc/dbus.texi (Inhibitor Locks): Fix path.Morgan Smith2026-01-211-2/+2
|
* (garbage-collect-heapsize): New functionStefan Monnier2026-01-201-8/+14
| | | | | | | | | | | | | | | | | The info returned from `garbage-collect` is really handy to track the evolution of the heap size, but sadly it's available only at the cost of running a full GC, which has two big downsides: it's slow, it affects what we're measuring, and it can't be used in `post-gc-hook`. So, this patch makes it available without running the GC. * src/alloc.c (Fgarbage_collect_heapsize): New function, extracted from `Fgarbage_collect`. (Fgarbage_collect): Use it. (syms_of_alloc): defsubr it. * doc/lispref/internals.texi (Garbage Collection): Extract documentation for it from that of `garbage-collect`.
* Update from Gnulib by running admin/merge-gnulibPaul Eggert2026-01-191-1/+1
|
* Improve doc re integer overflowPaul Eggert2026-01-171-2/+26
| | | | | | | | * doc/lispref/internals.texi (Module Values, C Integer Types): Mention that the example assumes Emacs was built with the GMP library, not with mini-gmp. Mention stdckdint.h for integer overflow checking, and mention Emacs integers for values outside machine range.
* Automatically detect the VC outgoing base (bug#80006)Sean Whitton2026-01-171-21/+107
| | | | | | | | | | | | | | | | | | | | | | | | | * lisp/vc/vc-git.el (vc-git--current-branch): Rename to ... (vc-git-working-branch): ... this. All uses changed. (vc-git-trunk-or-topic-p, vc-git-topic-outgoing-base): * lisp/vc/vc-hg.el (vc-hg--working-branch, vc-hg-working-branch) (vc-hg-trunk-or-topic-p, vc-hg-topic-outgoing-base): * lisp/vc/vc-hooks.el (vc--safe-branch-regexps-p): * lisp/vc/vc.el (vc-default-working-branch) (vc-default-trunk-or-topic-p, vc--match-branch-name-regexps) (vc--outgoing-base, vc--outgoing-base-mergebase) (vc--maybe-read-outgoing-base): New functions. (vc-diff-outgoing-base): Call vc--outgoing-base-mergebase. (vc-root-diff-outgoing-base, vc-diff-outgoing-base): Use vc--maybe-read-outgoing-base in interactive specification. (working-branch, trunk-or-topic-p, topic-outgoing-base): New specifications for backend functions. (vc-trunk-branch-regexps, vc-topic-branch-regexps): New variables. * .dir-locals.el: Commented entries for the new variables. * test/lisp/vc/vc-tests/vc-test-misc.el (vc-test-match-branch-name-regexps): New test. * doc/emacs/vc1-xtra.texi (Outstanding Changes): Document the new functionality.
* calc: Improve handling of invalid 'calc-string-maximum-character'Jacob S. Gordon2026-01-171-4/+3
| | | | | | | | | | | | | | | Previously, if 'calc-string-maximum-character' wasn't a valid character 'math-vector-is-string' would throw an error in the comparison, leading to an incomplete display of the stack and a cryptic error message. Instead, have 'math-vector-is-string' return nil, which effectively disables the display of strings. Refines feature introduced in bug#78528. * doc/misc/calc.texi (Customizing Calc): Update description of behavior for invalid 'calc-string-maximum-character'. * lisp/calc/calccomp.el (math-vector-is-string): Return nil when 'calc-string-maximum-character' doesn't represent a character. * test/lisp/calc/calc-tests.el (calc-math-vector-is-string): Correct and simplify tests.
* New D-Bus functions to support systemd inhibitor locksMichael Albinus2026-01-171-18/+124
| | | | | | | | | | | | | | | | | | | | | | | | * doc/misc/dbus.texi (Top): Add "Inhibitor Locks" submenu. Remove trailing period from chapter and section titles. (Inhibitor Locks): New node. * etc/NEWS: New D-Bus functions to support systemd inhibitor locks. Presentational fixes and improvements. * src/dbusbind.c (xd_registered_inhibitor_locks): New variable. (Fdbus_make_inhibitor_lock, Fdbus_close_inhibitor_lock) (Fdbus_registered_inhibitor_locks): New DEFUNs. (Bug#79963) (syms_of_dbusbind_for_pdumper): Initialize `xd_registered_inhibitor_locks'. (syms_of_dbusbind): Declare subroutines `Sdbus_make_inhibitor_lock', `Sdbus_close_inhibitor_lock' and `Sdbus_registered_inhibitor_locks'. Declare symbol `Qdbus_call_method'. staticpro `xd_registered_inhibitor_locks'. * test/lisp/net/dbus-tests.el (dbus--test-systemd-service) (dbus--test-systemd-path, dbus--test-systemd-manager-interface): New defconsts. (dbus-test10-inhibitor-locks): New test.
* Various housekeeping in image.cBasil L. Contovounesios2026-01-161-5/+6
| | | | | | | | | | | | | | | | | | * doc/lispref/display.texi (Customizing Bitmaps): Fix grammar. (XBM Images): Fix reference to incorrect number of properties. (Multi-Frame Images, Other Image Types): Mention multi-frame WebP support. * src/image.c: Don't include pdumper.h; it hasn't been needed since commit of 2019-05-17 "Clean up and simplify image-type setup". Fix some commentary. (image_pix_container_create_from_bitmap_data): Remove no longer used frame parameter (bug#80191); this continues from commit of 2022-11-25 "Remove unused parameter from image_create_pix_container". All callers updated. (x_create_xrender_picture, initialize_image_type): Simplify. (xbm_image_p): Remove redundant conditional branch. Update commentary.
* ; Update Project documentation due to recent changesEli Zaretskii2026-01-151-1/+4
| | | | | | | * etc/NEWS: * doc/emacs/maintaining.texi (Projects): * lisp/progmodes/project.el (project-mode-line): Update documentation due to changes in bug#78545.
* ; Update documentation due to a recent changeEli Zaretskii2026-01-151-2/+6
| | | | | | | * etc/NEWS: * doc/emacs/mini.texi (Completion Commands): * lisp/minibuffer.el (minibuffer-visible-completions): Update doc string, user manual, and NEWS to reflect changes for bug#80024.
* ; * doc/lispref/display.texi (Progress): Revert inaccurate text.Eli Zaretskii2026-01-151-2/+1
|
* ; * doc/lispref/display.texi (Progress): Fix wording and punctuation.Eli Zaretskii2026-01-151-2/+3
|
* (make-progress-reporter): Tweak wording of CONTEXT docStefan Monnier2026-01-141-3/+5
|
* Optionally inhibit echo area progress reporting (bug#80198)Stéphane Marks2026-01-141-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.
* ; Improve docs for last change.Sean Whitton2026-01-141-13/+14
|
* Allow Ispell to save corrections as abbrevsPaul Nelson2026-01-141-0/+13
| | | | | | | | | | | | | | | * lisp/textmodes/ispell.el (ispell-save-corrections-as-abbrevs): New user option. (ispell--abbrev-saving-allowed) (ispell--save-correction-as-abbrev): New variables. (ispell--maybe-save-correction-abbrev): New function. (ispell-word, ispell-process-line): Use them to save corrections as abbrevs when appropriate (bug#79985). (ispell-command-loop): Add C-u as command character to toggle abbrev saving for an immediately following replacement command. (ispell-help): Document C-u binding. * doc/emacs/fixit.texi (Spelling): Document new feature.
* Rename VC outgoing and incoming log commands to include "-root-"Sean Whitton2026-01-141-27/+27
| | | | | | | | | | * lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Rename ... (vc-root-log-incoming, vc-root-log-outgoing): ... to these. All uses changed. Leave behind obsolete function aliases. * lisp/emacs-lisp/package-vc.el (package-vc-log-incoming): Rename ... (package-vc-root-log-incoming): ... to this. All uses changed. Leave behind obsolete function alias.
* Call all registered D-Bus signal handlersMichael Albinus2026-01-141-1/+12
| | | | | | | | | | | | | | | | | | | | * doc/misc/dbus.texi (Signals): All registered signal handlers are called. (Synchronous Methods, Signals, Monitoring Messages): Add function result in examples. * src/dbusbind.c (xd_store_event): New function. (xd_read_message_1): Use it. Call all registered handlers per signal. (Bug#80168) * test/lisp/net/dbus-tests.el (dbus--test-signal-handler): Adapt defun. (dbus--test-signal-handler1, dbus--test-signal-handler2): New defuns. (dbus-test05-register-signal-several-handlers): New test. (dbus-test04-register-method) (dbus-test04-call-method-authorizable) (dbus-test05-register-signal) (dbus-test05-register-signal-with-nils) (dbus-test06-register-property-emits-signal): Adapt tests.
* Add frame identifiers (bug#80138)Stéphane Marks2026-01-131-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.
* Eglot: add new command 'eglot-momentary-inlay-hints'João Távora2026-01-111-0/+17
| | | | | | | | | | * doc/misc/eglot.texi (Eglot Commands) (Customization Variables): Advertise eglot-momentary-inlay-hints. * etc/EGLOT-NEWS: Advertise new command. * lisp/progmodes/eglot.el (eglot--momentary-hints-data): New variable. (eglot-momentary-inlay-hints): New command.
* Eglot: document LSP server multiplexer supportJoão Távora2026-01-111-11/+170
| | | | | | | | | | | | | | | | | | | | This documents how to use LSP multiplexer programs like Rassumfrassum to connect multiple language servers to a single buffer. * doc/misc/eglot.texi (Top): Add "Multi-server support" menu entry. (Multi-server support): New chapter. (Using Rassumfrassum, Design rationale): New sections documenting how to use the Rassumfrassum multiplexer program with Eglot, with practical examples for C++, Python, and multi-language files. (Performance): Mention Rassumfrassum as solution for JSONRPC traffic performance issues. (Reporting bugs): Add guidance for troubleshooting multiplexer-related bugs. Improve project description guidance. Fix various typos. * lisp/progmodes/eglot.el (eglot-server-programs): Add a couple of rass entries. * etc/EGLOT-NEWS: Announce support for LSP server multiplexers via Rassumfrassum.
* ; * doc/emacs/files.texi (Filesets): Fix long lines.Eli Zaretskii2026-01-101-2/+4
|
* ; Doc fix: 'fileset-run-cmd' is not just for shellJames Thomas2026-01-101-2/+6
| | | | * doc/emacs/files.texi (Filesets): Fix wording (bug#80008).
* ; Fixes to last change.Sean Whitton2026-01-101-6/+6
|
* Update cursor display using Xterm escape sequencesJared Finder2026-01-101-20/+33
| | | | | | | | | | | | | | * lisp/term/xterm.el (xterm-update-cursor): New user option. (xterm--init): Use it. (xterm--post-command-hook): New function for all xterm functionality installed in 'post-command-hook'. (xterm--init-frame-title): Install it. (xterm--init-update-cursor, xterm--set-cursor-type) (xterm--update-cursor-type, xterm--update-cursor-color): New functions. (xterm--cursor-type-to-int): New constant. * doc/emacs/display.texi (Cursor Display): * etc/NEWS: Document the new feature.
* ; Fix order of @item and indices in help.texiPhilip Kaludercic2026-01-101-1/+1
| | | | | * doc/emacs/help.texi (Apropos): Place @kindex and @findex before @item.
* Bind 'apropos-user-option' to C-h uPhilip Kaludercic2026-01-101-1/+2
| | | | | | * doc/emacs/help.texi: Adjust documentation. * etc/NEWS: Mention change. * lisp/help.el (help-map): Add binding.
* Allow reviewing packages before installaionPhilip Kaludercic2026-01-101-0/+11
| | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/package.el (package-review-policy) (package-review-directory, package-review-diff-command): Add new options. (package--review-p): Add new function to consult 'package-review-policy'. (package-review): Add new function. (package-unpack): Use new functions. (package-install-from-archive): Return package descriptors of installed packages. (package-download-transaction): Handle failure of a incomplete transaction. (package-install): Report if a package installation failed. (package-upgrade): Anticipate a failed package transaction by not deleting a package beforehand. (package-install-from-buffer): Handle the failure to download dependencies or a rejection during the actual package review. * doc/emacs/package.texi: Document feature. * etc/NEWS: Mention new feature.
* ; * doc/lispref/streams.texi (Output Functions): Fix markup (bug#80167).Arash Esbati2026-01-101-1/+1
|
* Unobsolete and autoload M-x eglot-manual, mention it in manualJoão Távora2026-01-081-1/+3
| | | | | | | | | | | | | | The only alternative I've found is M-: ( i n f o " ( e g l o t ) " ) RET which isn't really very user friendly. * lisp/progmodes/eglot.el (eglot-manual): Unobsolete. * doc/misc/eglot.texi (Top): Mention M-x eglot-manual. * etc/EGLOT-NEWS: Mention unobsoletion.
* External Tramp methods can be used in multi-hopsMichael Albinus2026-01-062-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | * doc/misc/tramp.texi (External methods): Mention, how external methods are used for multi-hops. (Ad-hoc multi-hops): Change requirement of method. * doc/misc/trampver.texi: * lisp/net/trampver.el: Change version to "2.8.2-pre". * etc/NEWS: External Tramp methods can be used in multi-hops. Presentational fixes and improvements. * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory): Check for `tramp-method-out-of-band-p' explicitly. Don't flush directory properties. (tramp-method-out-of-band-p): There shouldn't be a multi-hop. * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory): Don't flush directory properties. * lisp/net/tramp.el (tramp-methods): Adapt docstring. (tramp-barf-if-file-missing) (with-parsed-tramp-file-name): Adapt debug spec. (tramp-skeleton-copy-directory): Flush directory properties. (tramp-add-hops): Check for `tramp-login-args' property.
* ; Consistently use "window point" and "buffer point" in Elisp manualMartin Rudalics2026-01-062-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.
* ; Time Stamps doc: Expand examples, add summariesStephen Gildea2026-01-051-21/+49
| | | | | | * doc/emacs/files.texi: (Time Stamps): Expand the examples and add node-end summaries. Thanks to Ruth for her help with the clarity of the documentation.
* In Elisp manual warn about unpredictable changes of point (Bug#79927)Martin Rudalics2026-01-052-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).
* Update to Transient v0.12.0-15-gfe5214e6Jonas Bernoulli2026-01-041-51/+58
|
* New function 'window-cursor-info'RadioNoiseE2026-01-031-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 Marks2026-01-031-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 Sainty2026-01-031-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 Sainty2026-01-031-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 Zaretskii2026-01-021-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 Fu2026-01-011-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 Whitton2026-01-01207-211/+211
|
* Allow project-vc-ignores to be applied in more casesDmitry Gutov2026-01-011-1/+3
| | | | | | | | | | | | | | | | | | | | Discussed in https://lists.gnu.org/archive/html/emacs-devel/2025-12/msg00903.html. * lisp/progmodes/project.el (project-files) <vc>: Look up the value of 'project-vc-ignores' inside DIR rather than project root. This allows this variable to be applied in external dirs as well. (project-ignores) <vc>: Do likewise. (project--value-in-dir): Ensure that DIR has a trailing slash. The caller might pass the value without slash if produced differently. * test/lisp/progmodes/project-tests.el (project-vc-ignores-in-external-directory): New test. (project-vc-supports-files-in-subdirectory): Update the test, considering the subtle change in behavior: the directory DIR directly includes a .dir-locals.el which sets project-vc-ignores, which wasn't previously applied because it wasn't set in the root.
* Factor out undo-ignore-read-only (bug#80049)Sean Whitton2025-12-311-1/+2
| | | | | | | | | | | | * lisp/vc/diff-mode.el (diff-undo): Rename to undo-ignore-read-only. (diff-mode-shared-map): Update "<remap> <undo>" binding. * lisp/simple.el (undo-ignore-read-only): Rename from diff-undo. * lisp/dired.el (dired-undo): * lisp/proced.el (proced-undo): Call it. New numeric prefix argument to specify a repeat count. * doc/emacs/dired.texi (Marks vs Flags): * etc/NEWS: Document the change.
* Sync with Tramp 2.8.1Michael Albinus2025-12-311-1/+1
| | | | | * doc/misc/trampver.texi: * lisp/net/trampver.el (tramp-version): Adapt Tramp versions.
* Update Modus themes to their version 5.2.0Protesilaos Stavrou2025-12-311-45/+779
| | | | Release notes: <https://protesilaos.com/codelog/2025-12-31-emacs-modus-themes-5-2-0/>.
* ; VC docs: Use broader term "topic branches".Sean Whitton2025-12-291-13/+8
|