aboutsummaryrefslogtreecommitdiffstats
path: root/doc/lispref (follow)
Commit message (Collapse)AuthorAgeFilesLines
* (font-lock-defaults): Clarify the use of SYNTAX-ALIST (bug#79586)Stefan Monnier2025-10-141-2/+12
| | | | | | * doc/lispref/modes.texi (Font Lock Basics): * lisp/font-core.el (font-lock-defaults): Document when SYNTAX-ALIST is used and how it interacts with syntactic fontification.
* Fix MS-Windows tray notifications from different Emacs framesEli Zaretskii2025-10-111-4/+10
| | | | | | | | | | | | | | | | | * src/w32fns.c (EMACS_TRAY_NOTIFICATION_ID_INIT): Rename from EMACS_TRAY_NOTIFICATION_ID; all users adjusted. (last_tray_notification_id): New static variable. (add_tray_notification): Advance 'last_tray_notification_id' for each new notification; wrap around to the fixed initial value when reached the maximum. This allows Lisp programs track notifications and remove them from the same frame from which they were created. (Fw32_notification_notify, Fw32_notification_close): Doc fixes. * doc/lispref/os.texi (Desktop Notifications): Update the documentation of 'w32-notification-notify' and 'w32-notification-close'. Bug#79400
* Merge from origin/emacs-30Eli Zaretskii2025-10-113-1/+11
|\ | | | | | | | | | | | | | | 1895ba3ba3b ; Document %i format 85db0ac0d6e ; * doc/lispref/nonascii.texi (Explicit Encoding): Fix a ... c119a3600ed ; * doc/lispref/tips.texi (Documentation Tips): Document ... Also fix trailing whitespace in test files.
| * ; Document %i formatEli Zaretskii2025-10-111-0/+1
| | | | | | | | | | | | * src/editfns.c (Fformat): Doc fix. * doc/lispref/strings.texi (Formatting Strings): Document %i.
| * ; * doc/lispref/nonascii.texi (Explicit Encoding): Fix a typo (bug#79613).Eli Zaretskii2025-10-111-1/+1
| |
| * ; * doc/lispref/tips.texi (Documentation Tips): Document \\+`foo'.Eli Zaretskii2025-10-081-0/+9
| |
* | Allow creating a pipe process without a bufferSpencer Baugh2025-10-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously, even passing :buffer nil to make-pipe-process would create a buffer. Now, if you explicitly call (make-pipe-process :buffer nil), it will create a pipe process without a buffer, just like all the other process creation functions. * src/process.c (Fmake_pipe_process): Check for explicit :buffer nil and don't make a buffer. (bug#79596) * doc/lispref/processes.texi (Asynchronous Processes): Update. * test/src/process-tests.el (process-test-make-pipe-process-no-buffer): Add test.
* | modes.texi: Declare official support for a standard "abuse"Stefan Monnier2025-10-081-0/+6
| | | | | | | | | | | | * doc/lispref/modes.texi (Search-based Fontification): Explicitly mention the "abuse" of matchers that perform the highlighting instead of matching.
* | Merge from origin/emacs-30Sean Whitton2025-10-071-13/+24
|\ \ | |/ | | | | | | | | c7ab3700675 ; * doc/lispref/control.texi (Conditionals): Grammar fix. f3c29c1415e ; * doc/lispref/control.texi (Conditionals): Document SYM... da47fa2f23b if-let*/when-let*/and-let*: Don't recommend (VALUEFORM) form
| * ; * doc/lispref/control.texi (Conditionals): Grammar fix.Sean Whitton2025-10-071-1/+1
| |
| * ; * doc/lispref/control.texi (Conditionals): Document SYMBOL form.Sean Whitton2025-10-071-6/+18
| |
| * if-let*/when-let*/and-let*: Don't recommend (VALUEFORM) formSean Whitton2025-10-071-11/+10
| | | | | | | | | | | | * doc/lispref/control.texi (Conditionals): * lisp/subr.el (if-let*): Document '(_ VALUEFORM)' instead of '(VALUEFORM)'.
* | Merge from origin/emacs-30Sean Whitton2025-10-071-0/+4
|\ \ | |/ | | | | cd400326b2f ; Improve documentation of 'string-glyph-split'
| * ; Improve documentation of 'string-glyph-split'Eli Zaretskii2025-10-051-0/+4
| | | | | | | | | | | | * doc/lispref/display.texi (Size of Displayed Text): * lisp/emacs-lisp/subr-x.el (string-glyph-split): Document a caveat (bug#79576).
* | defvar-keymap: New ':prefix t' abbreviationSean Whitton2025-10-061-5/+21
| | | | | | | | | | | | | | | | | | | | * lisp/keymap.el (defvar-keymap): New ':prefix t' abbreviation. * lisp/emacs-lisp/helper.el (Helper-help-map): * lisp/vc/pcvs.el (cvs-mode-diff-map): * lisp/vc/vc-hooks.el (vc-prefix-map): * lisp/vcursor.el (vcursor-map): Use it. * doc/lispref/keymaps.texi (Creating Keymaps): * etc/NEWS: Document it.
* | Run buffer-local window change functions in their buffers nowMartin Rudalics2025-10-061-19/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The buffer-local-versions of 'window-buffer-change-functions', 'window-size-change-functions', 'window-selection-change-functions' and 'window-state-change-functions' are now run with the respective buffer temporarily current. Also, the local version of 'window-buffer-change-functions' is run for the buffer removed from the window too. * src/window.c (run_window_change_functions_locally) (run_window_change_functions_globally): New functions replacing 'run_window_change_functions_1'. (run_window_change_functions): Run the buffer local versions of these hooks in their respective buffers. Run 'window-buffer-change-functions' for the buffer removed from the window too. (Vwindow_buffer_change_functions, Vwindow_size_change_functions) (Vwindow_selection_change_functions) (Vwindow_state_change_functions): Mention that the buffer-local versions are run with their buffer temporarily current. * doc/lispref/windows.texi (Window Hooks): Mention that buffer-local-versions of window change functions are run with their buffer temporarily current. Also say that 'window-buffer-change-functions' will be run for removed buffer too. * etc/NEWS: Advertise changes for the buffer-local versions of window change functions.
* | Merge from origin/emacs-30Sean Whitton2025-10-031-3/+4
|\ \ | |/ | | | | | | 6a8fda1f339 Fix process name matching in 'tramp-process-running-p' 217fd4f09ea ; * doc/lispref/modes.texi (Defining Minor Modes): Fix la...
| * ; * doc/lispref/modes.texi (Defining Minor Modes): Fix last change.Eli Zaretskii2025-09-271-3/+4
| |
* | Improve documentation and customization of 'derived-mode' in buffer predicateJuri Linkov2025-09-271-4/+7
| | | | | | | | | | | | | | | | * doc/lispref/buffers.texi (Buffer List): * lisp/subr.el (buffer-match-p): Document that 'derived-mode' can be a list (bug#79481). * lisp/wid-edit.el (buffer-predicate): Support a list for 'derived-mode'.
* | Document coding system issues with system-*-localePaul Eggert2025-09-271-0/+4
| |
* | Merge from origin/emacs-30Eli Zaretskii2025-09-273-6/+25
|\ \ | |/ | | | | | | | | | | 6d35c807e5f ; Improve documentation of globalized minor modes 704fab0452a ; Improve documentation of handling errors 307f465f7b9 ; * doc/lispref/text.texi (Suspicious Text): Fix suspicio... 6bedbafc7ad ; * doc/lispref/text.texi (Suspicious Text): Indexing fix.
| * ; Improve documentation of globalized minor modesEli Zaretskii2025-09-271-1/+11
| | | | | | | | | | * doc/lispref/modes.texi (Defining Minor Modes): Document the subtlety with ':init-value t' for globalized modes.
| * ; Improve documentation of handling errorsEli Zaretskii2025-09-261-4/+12
| | | | | | | | | | * doc/lispref/control.texi (Processing of Errors): Document that pending input is discarded upon errors. (Bug#79510)
| * ; * doc/lispref/text.texi (Suspicious Text): Fix suspicious address.Eli Zaretskii2025-09-221-1/+1
| |
| * ; * doc/lispref/text.texi (Suspicious Text): Indexing fix.Eli Zaretskii2025-09-221-0/+1
| |
* | ; Improve documentation of 'defcustom' typesEli Zaretskii2025-09-271-0/+6
| | | | | | | | | | * doc/lispref/customize.texi (Simple Types): Document the 'buffer-predicate' type. (Bug#79496)
* | ; * doc/lispref/symbols.texi (Shorthands): Fix markup.Eli Zaretskii2025-09-231-1/+1
| |
* | Fix minor incorrect statement about shorthands.Philipp Stephani2025-09-221-2/+2
| | | | | | | | | | * doc/lispref/symbols.texi (Shorthands): Make documentation match reality. See symbol_char_span in src/lread.c.
* | ; * doc/lispref/symbols.texi (Shorthands): Add missing parenthesis.Philipp Stephani2025-09-221-1/+1
| |
* | Improve documentation of 'accept-process-output'Eli Zaretskii2025-09-201-1/+11
| | | | | | | | | | | | | | | | | | * doc/lispref/processes.texi (Accepting Output): * src/process.c (Faccept_process_output): Document better the meaning of the timeout of 'accept-process-output' a,d the fact that it doesn't always return as soon as some output is available. See https://lists.gnu.org/archive/html/emacs-devel/2025-08/msg00750.html for more details.
* | ; Improve discoverability of tree-sitter related functionalityEli Zaretskii2025-09-143-3/+13
| | | | | | | | | | | | | | * doc/lispref/positions.texi (List Motion): * doc/lispref/modes.texi (Major Mode Conventions, Major Modes) (Parser-based Font Lock, Parser-based Indentation): Improve indexing and cross-references to tree-sitter related stuff.
* | Document and test 'let-alist' support for indexingSpencer Baugh2025-08-301-0/+13
| | | | | | | | | | | | | | | | * etc/NEWS: Announce 'let-alist' support for indexing. * test/lisp/emacs-lisp/let-alist-tests.el (let-alist-numbers): Add a test for 'let-alist's support for indexing. * doc/lispref/lists.texi (Association Lists): Document indexing with 'let-alist'. (Bug#66509)
* | ; * doc/lispref/edebug.texi (Edebug Views): Fix wording of last change.Eli Zaretskii2025-08-301-8/+8
| |
* | Add edebug-bounce-to-previous-valueJens Schmidt2025-08-301-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Command edebug-bounce-to-previous-value uses the previous value observed while single-stepping or evaluating an expression to bounce point in the outside current buffer to the buffer position corresponding to that value. * lisp/emacs-lisp/edebug.el (edebug-previous-value): Add variable. (edebug-compute-previous-result, edebug-eval-expression): Update it. (edebug-bounce-to-previous-value): Add command. (edebug-mode-map): Add keybinding for the new command, replacing the binding of "P" to edebug-view-outside. (edebug-mode-menus): Add menu entry for the new command. * doc/lispref/edebug.texi (Edebug Views): Add documentation. * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el (edebug-test-code-bounce-point): Add test code. * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-bounce-outside-buffer) (edebug-tests-bounce-outside-point) (edebug-tests-bounce-outside-mark) (edebug-tests-bounce-record-outside-environment) (edebug-tests-should-have-bounced-to): Add infrastructure to test bounces. (edebug-tests-check-keymap): Update tests to new key bindings. (edebug-tests-bounce-point) (edebug-tests-bounce-to-previous-value) (edebug-tests-bounce-to-previous-non-position): Add tests. (edebug-tests-evaluation-of-current-buffer-bug-19611): Clean up side effects. (Bug#79288)
* | Extend info-xref-test-emacs-manuals, fix info referenceMichael Albinus2025-08-271-1/+1
| | | | | | | | | | | | | | * doc/lispref/loading.texi (Autoload): Fix reference. * test/lisp/info-xref-tests.el (info-xref-test-emacs-manuals): Print output buffer.
* | Disallow string data resizing (bug#79784)Mattias EngdegÄrd2025-08-243-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only allow string mutation that is certain not to require string data to be resized and reallocated: writing bytes into a unibyte string, and changing ASCII to ASCII in a multibyte string. This ensures that mutation will never transform a unibyte string to multibyte, that the size of a string in bytes never changes, and that the byte offsets of characters remain the same. Most importantly, it removes a long-standing obstacle to reform of string representation and allow for future performance improvements. * src/data.c (Faset): Disallow resizing string mutation. * src/fns.c (clear_string_char_byte_cache): * src/alloc.c (resize_string_data): Remove. * test/src/data-tests.el (data-aset-string): New test. * test/lisp/subr-tests.el (subr--subst-char-in-string): Skip error cases. * test/src/alloc-tests.el (aset-nbytes-change): Remove test that is no longer relevant. * doc/lispref/strings.texi (Modifying Strings): * doc/lispref/sequences.texi (Array Functions): * doc/lispref/text.texi (Substitution): Update manual. * etc/NEWS: Announce.
* | Merge from origin/emacs-30Eli Zaretskii2025-08-231-39/+139
|\ \ | |/ | | | | | | b3ed4876b63 ; Improve documentation of Edebug fdad3417dcf ; Fix typo in 'cursor-type' widget
| * ; Improve documentation of EdebugEli Zaretskii2025-08-231-43/+136
| | | | | | | | | | | | | | | | | | | | | | * doc/lispref/edebug.texi (Edebug Execution Modes, Jumping) (Edebug Misc, Breaks, Breakpoints, Global Break Condition) (Source Breakpoints, Edebug Views, Edebug Eval, Eval List) (Printing in Edebug, Trace Buffer, Coverage Testing) (Checking Whether to Stop, Edebug Display Update) (Edebug Recursive Edit, Edebug and Macros) (Instrumenting Macro Calls, Specification List, Edebug Options): Improve indexing and cross-references.
* | * doc/lispref/control.texi (cond* Macro): Update bind* entryJeremy Bryant2025-08-231-2/+2
| | | | | | | | | | Update manual to match docstring of (bind*) clause, including the qualifier `all subsequent clauses'. (Bug#79246)
* | Correctly document the format of tabulated-list-groupsRahguzar2025-08-211-3/+4
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/tabulated-list.el (tabulated-list-groups): Correct format in doc string (bug#79220). * doc/lispref/modes.texi (Tabulated List Mode): Correct format in manual.
* | Update description of buffer-in-registerEli Zaretskii2025-08-151-3/+3
| | | | | | | | | | * doc/lispref/text.texi (Registers): Update register-in-buffer form. (Bug#79243)
* | Implement new autoload macro expansion declare formJD Smith2025-08-102-10/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, a hard-coded set of macros is automatically expanded during generation of autoloads. To allow user macros to request such expansion, this implements a new declare form `autoload-macro' (Bug#78995), with supported value `expand'. For example, macros which wrap `define-minor-mode', can declare `(autoload-macro expand)' to request that ;;;###autoload-adorned calls to the macro are expanded during generation, such that an autoload for the resulting function is created. * lisp/emacs-lisp/byte-run.el (byte-run--set-autoload-macro): Handle autoload-macro declare forms. (macro-declarations-alist) Add handler for 'autoload-macro declare forms. (defmacro, defun): * lisp/emacs-lisp/cl-generic.el (cl-defgeneric, cl-defun) (cl-iter-defun, cl-defmacro, cl-defstruct): * lisp/emacs-lisp/easy-mmode.el (define-minor-mode, define-globalized-minor-mode, iter-defun): * lisp/emacs-lisp/inline.el (define-inline): * lisp/emacs-lisp/pcase.el (pcase-defmacro): Declare (autoload-macro expand) to request expansion of the macro during autoload generation. * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--make-autoload): Handle the `autoload-macro=expand' property for macros. Load the ;;;###autoload-containing file if an unknown symbol is encountered in the car of the following form, to give packages a chance to define their macros and request expansion. Factor list of special function-defining macros out as a constant variable: `loaddefs--defining-macros'. * doc/lispref/functions.texi (Declare Form): * doc/lispref/loading.texi (Autoload): Document `autoload-macro'.
* | Allow thread's buffer to be killed, by defaultDmitry Gutov2025-08-091-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/thread.c (Fmake_thread): Add new argument (bug#76969). (thread_set_error): New function, extracted from thread-signal. (Fthread_buffer_disposition): Add getter. (Fthread_set_buffer_disposition): And setter. (thread_check_current_buffer): Check the values of threads' buffer_disposition. (thread_all_before_buffer_killed): New function. (init_threads): Set buffer_disposition to nil for the main thread. (syms_of_threads): Add new symbols and define the error. * src/thread.h (thread_state): New field buffer_disposition. (thread_all_before_buffer_killed): Declare. * src/buffer.c (Fkill_buffer): Call thread_check_current_buffer one more time after all hooks and after that call thread_all_before_buffer_killed. * src/comp.c (ABI_VERSION): Increase the value. * test/src/thread-tests.el (thread-buffer-disposition-t) (thread-buffer-disposition-nil) (thread-buffer-disposition-silently) (thread-set-buffer-disposition) (thread-set-buffer-disposition-main-thread): New tests. * doc/lispref/threads.texi (Basic Thread Functions): Document buffer-disposition in make-thread and its getter and setter. * etc/NEWS: Add entry.
* | Improve Vprint_variable_mappingZach Shaftel2025-08-091-1/+3
| | | | | | | | | | | | * src/print.c (print_create_variable_mapping): Fix a typo, `unreadeable-function' to `unreadable-function'. Add `symbols-bare' as an override for `print-symbols-bare'. (Bug#79161)
* | Rename variables *-in-progress-p to *-in-progressMichael Albinus2025-08-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/backups.texi (Reverting): Fix variable names revert-buffer-in-progress and auto-revert-buffer-in-progress. * etc/NEWS: Fix variable names revert-buffer-in-progress and auto-revert-buffer-in-progress. Presentational fixes and improvements. * lisp/autorevert.el (auto-revert-buffer-in-progress): Rename. (auto-revert-handler, auto-revert-buffer): Use renamed variables. * lisp/dired-x.el (dired-omit-expunge): Use `auto-revert-buffer-in-progress'. * lisp/files.el (revert-buffer-in-progress): Rename. (revert-buffer-in-progress-p): Declare obsolete. (after-find-file, revert-buffer): * lisp/saveplace.el (save-place-find-file-hook) (save-place-dired-hook): * lisp/vc/vc-git.el (vc-git-command, vc-git--out-ok): * lisp/vc/vc.el (vc-diff-internal): Use `revert-buffer-in-progress'. * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Suppress warning.
* | Add auto-revert-buffer-in-progress-pMichael Albinus2025-08-081-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/backups.texi (Reverting): Add auto-revert-buffer-in-progress-p. * etc/NEWS: Mention auto-revert-buffer-in-progress-p. * lisp/autorevert.el (auto-revert-buffer-in-progress-p): New autoloaded variable. (auto-revert-buffer): Let-bind it. (Bug#79145) * lisp/dired-x.el (dired-omit-expunge): Suppress messages when in auto-revert.
* | Merge from origin/emacs-30Eli Zaretskii2025-08-023-15/+26
|\ \ | |/ | | | | | | | | | | | | | | 477335a10ba ; Fix documentation of 'find-file-noselect' 9e3720bbb11 * doc/misc/gnus.texi (Category Syntax): Update gnus-agent... 456f44a7b3c ; Improve documentation of change hooks f20d5e63bc0 ; * lisp/image.el (image-supported-file-p): Doc fix (bug#... 8ec2ddebdd4 ; Update documentation of GC in ELisp manual 57a9798c22a Prefer "tls" to "ssl" in documentation
| * ; Fix documentation of 'find-file-noselect'Eli Zaretskii2025-08-021-4/+6
| | | | | | | | | | | | * doc/lispref/files.texi (Visiting Functions): * lisp/files.el (find-file-noselect): Document that NOWARN non-nil also bypasses the file's last change verification. (Bug#79127)
| * ; Improve documentation of change hooksEli Zaretskii2025-07-301-1/+5
| | | | | | | | | | * doc/lispref/text.texi (Change Hooks): Warn against buffer changes in the hook functions. (Bug#79115)
| * ; Update documentation of GC in ELisp manualEli Zaretskii2025-07-281-10/+15
| | | | | | | | | | * doc/lispref/internals.texi (Garbage Collection): Update default values for GC-related thresholds. (Bug#79074)