aboutsummaryrefslogtreecommitdiffstats
path: root/lisp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Use the new error API functionsfeature/error-APIStefan Monnier18 hours14-84/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/epa-file.el (epa-file--find-file-not-found-function): Use `error-slot-value` and `error-data`. (epa-file-insert-file-contents): Use `error-has-type-p`, `error-slot-value`, and `error-data`. * lisp/jka-compr.el (jka-compr-insert-file-contents): Use `error-has-type-p` and `error-slot-value` as well as new re-signaling form of `signal`. * lisp/simple.el (minibuffer-error-function): Use `error-has-type-p`. * lisp/startup.el (startup--load-user-init-file): Use `error-message-string`. (command-line): Use `error-has-type-p` and `error-message-string`. * lisp/type-break.el (type-break-demo-life): Use `error-message-string`. * lisp/emacs-lisp/bytecomp.el (batch-byte-compile-file): Use `error-message-string` and `error-has-type-p`. * lisp/emacs-lisp/edebug.el (edebug-safe-eval, edebug-report-error) (edebug-eval-expression): * lisp/emacs-lisp/debug.el (debugger-eval-expression): Use `error-message-string`. * lisp/emacs-lisp/ert.el (ert--should-error-handle-error): Use `error-has-type-p` and `error-type`. * lisp/net/sasl.el (sasl-error): Use `define-error`. * lisp/net/tramp-compat.el (tramp-error-type-p): New function. (tramp-permission-denied, tramp-compat-permission-denied): Use it. * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Use `error-type-p`.
* Fix `signal` calls where the data argument is not a listStefan Monnier18 hours1-4/+4
| | | | | | | | | | | * test/src/thread-tests.el (threads-join-error): * test/src/emacs-module-resources/mod-test.c (Fmod_test_signal): * src/print.c (print_bind_overrides): * lisp/url/url-future.el (url-future-finish, url-future-errored) (url-future-call, url-future-cancel): Make sure signal's data is a list. * test/src/emacs-module-tests.el (mod-test-non-local-exit-signal-test): Adjust accordingly.
* Improve the error APIStefan Monnier23 hours1-0/+32
| | | | | | | | | | | | | | | | | | | | Define new functions to manipulate error descriptors and add support for `signal` to *re*signal a previous error. * src/eval.c (Fsignal): Make the second arg optional and document the possibility of passing a whole error descriptor to re-signal it. (signal_or_quit): Fix a few corner case issues when DATA is `nil` and ERROR_SYMBOL is an error descriptor. * lisp/subr.el (error-type-p, error--p, error-type, error-data) (error-has-type-p, error-slot-value): New function. * doc/lispref/control.texi (Handling Errors): Prefer "error descriptor" to "error description". Use the new single-arg call to `signal` to re-throw an error. Document `error-type`, `error-data` and `error-slot-value`. (Error Symbols): Document the new functions `error-type-p` and `error-has-type-p`.
* Mention newcomers theme on 'normal-mouse-startup-screen'Philip Kaludercic27 hours1-21/+27
| | | | | | | * lisp/startup.el (startup-insert-newcomers-theme): Factor out new function from 'normal-no-mouse-startup-screen'. (normal-mouse-startup-screen, normal-no-mouse-startup-screen): Call new function.
* cl-seq.el: Prefer `:test` to `:if`Stefan Monnier28 hours1-24/+24
| | | | | | | | | | | * lisp/emacs-lisp/cl-seq.el (cl-remove-if, cl-remove-if-not) (cl-delete-if, cl-delete-if-not, cl-substitute-if) (cl-substitute-if-not, cl-nsubstitute-if, cl-nsubstitute-if-not) (cl-find-if, cl-find-if-not, cl-position-if, cl-position-if-not) (cl-count-if, cl-count-if-not, cl-member-if, cl-member-if-not) (cl-assoc-if, cl-assoc-if-not, cl-rassoc-if, cl-rassoc-if-not) (cl-subst-if, cl-subst-if-not, cl-nsubst-if, cl-nsubst-if-not): Prefer the Common Lisp standard `:test` to the cl-lib specific `:if`.
* ; Fix documentation of 'emacs-news-mode' commandsEli Zaretskii28 hours1-9/+27
| | | | | | | | * lisp/textmodes/emacs-news-mode.el (emacs-news-next-untagged-entry) (emacs-news-previous-untagged-entry, emacs-news-cycle-tag) (emacs-news-count-untagged-entries, emacs-news-goto-section) (emacs-news-find-heading, emacs-news-open-line) (emacs-news-delete-temporary-markers): Doc fixes. (Bug#80569)
* iso-transl.el: Revert cosmetic changeStefan Monnier30 hours1-12/+16
| | | | | * lisp/international/iso-transl.el (iso-transl-char-map): Re-add ineffective backslashes removed in in previous patch.
* ; recentf-exclude-file-by-extension-p: Restore and-let*.Sean Whitton31 hours1-1/+1
|
* * lisp/textmodes/fill.el (unfill-paragraph): Fix for wide chars.Sean Whitton31 hours1-1/+3
|
* * lisp/files.el (auto-mode-alist): Recognize /etc/profile as sh.shynur31 hours1-0/+2
|
* Fix mpuz under text-scalingEli Zaretskii36 hours1-1/+2
| | | | | * lisp/play/mpuz.el (mpuz-switch-to-window): Don't unconditionally turn on 'mpuz-mode', as that kills all local variables. (Bug#80567)
* iso-transl.el: Remove ineffective backslashes in previous patchStefan Monnier2 days1-12/+12
| | | | | * lisp/international/iso-transl.el (iso-transl-char-map): Remove ineffective backslashes in previous patch.
* Add "C-x 8" commands for letters with breeveEli Zaretskii2 days1-0/+12
| | | | | * lisp/international/iso-transl.el (iso-transl-char-map): Add Latin letters with breve. (Bug#80515)
* Improve Python setup codes to avoid leaving global nameskobarity2 days1-13/+21
| | | | | * lisp/progmodes/python.el (python-shell-setup-code) (python-shell-readline-detect): Improve Python code. (Bug#80551)
* Improve documentation of 'define-keymap'Eli Zaretskii3 days2-3/+7
| | | | | | * lisp/emacs-lisp/shortdoc.el (keymaps): Add example for adding key bindings to an existing keymap. * lisp/keymap.el (define-keymap): Doc fix. (Bug#80556)
* * lisp/recentf.el (recentf-exclude-file-by-extension-p): Fix thinko.Michael Albinus3 days1-4/+6
|
* Additional fixes for 'get-mru-frame' (Bug#80397)Martin Rudalics4 days1-9/+9
| | | | | | * src/frame.c (delete_frame): Call 'get-mru-frame' safely and with EXCLUDE-FRAME argument set up correctly. * lisp/frame.el (get-mru-frames, get-mru-frame): Fix doc-strings.
* Fix last change in recentf.elEli Zaretskii4 days1-10/+12
| | | | | | | | | | * lisp/recentf.el (recentf-exclude-ignored-extensions): Doc fix. (recentf-exclude-file-by-extension-p): Rename from `recentf-exclude-ignored-extensions'; all references changed. Doc fix. * etc/NEWS: Improve wording of the entry which announces the above.
* Mention newcomer theme on "no-mouse" splash screenPhilip Kaludercic4 days1-0/+25
| | | | | * lisp/startup.el (normal-no-mouse-startup-screen): Add a button to toggle the "newcomers-presets" theme.
* New user option and function 'recentf-exclude-ignored-extensions'Stéphane Marks4 days1-0/+21
| | | | | | | | | * lisp/recentf.el (recentf-exclude-ignored-extensions): New user option. (recentf-exclude-ignored-extensions): New function. * etc/NEWS: Announce the new option and function. (Bug#80347)
* ; Fix documentation of a recently added user optionEli Zaretskii4 days1-2/+3
| | | | | * lisp/vc/vc-dispatcher.el (vc-display-failed-async-commands): Doc fix. Add a :version tag.
* unfill-paragraph: Reimplement in terms of fill-regionSean Whitton4 days1-43/+15
| | | | | * lisp/textmodes/fill.el (unfill-paragraph): Reimplement in terms of fill-region.
* ; Move unfill-paragraph to fill.el. Document it in (elisp)Filling.Sean Whitton4 days2-57/+57
|
* New user option vc-display-failed-async-commandsSean Whitton4 days2-5/+22
| | | | | | | | | | | | * lisp/vc/vc-dispatcher.el (vc-display-failed-async-commands): New user option. (vc-do-async-command): Use it. * doc/emacs/vc1-xtra.texi (General VC Options): * etc/NEWS: Document it. * lisp/vc/vc-dispatcher.el (vc-do-command): Adjust message to begin "Failed" not "Done" when command exits non-zero. * lisp/vc/vc.el (vc-checkin): Adjust message to end in "...failed" not "...done" when async command exits non-zero.
* vc-do-command: Tidy up some messagingSean Whitton4 days1-13/+16
| | | | | | | * lisp/vc/vc-dispatcher.el (vc--inhibit-message): New defvar, replacing the undeclared vc-inhibit-message. All uses changed. (vc--command-message): New function, factored out. (vc-do-command): Call it.
* Make 'frame-use-time' more reliable. (bug#80397)Stéphane Marks5 days1-28/+46
| | | | | | | | | | | | | Walking the window tree is more reliable than using the selected window. Implement 'get-mru-frame' on top of 'get-mru-frames' using 'frame-use-time'. * lisp/frame.el (frame-use-time): Change to walk the window tree for the specified frame. (get-mru-frames): New defun. (get-mru-frame): Change to call 'get-mru-frames'. * doc/lispref/frames.texi: Update documentation. * etc/NEWS: Update announcement.
* (flymake-start): Give a bit more info in the logStefan Monnier5 days1-2/+4
| | | | | * lisp/progmodes/flymake.el (flymake-start): Log the reason why it's disabled when not starting a backend.
* Rename 'any' to 'member-if' and deprecate 'cl-member-if'Sean Whitton5 days9-34/+61
| | | | | | | | | | | | * lisp/subr.el (any): Rename from this ... (member-if): ... to this. All uses changed. (any): New function alias. * lisp/emacs-lisp/cl-seq.el (cl-member-if): Mark obsolete. * lisp/obsolete/cl.el (member-if): Delete obsolete function alias. * doc/lispref/lists.texi (List Elements): * doc/misc/cl.texi (Lists as Sets): * etc/NEWS: Document the change.
* New command 'unfill-paragraph'Sean Whitton5 days1-0/+57
| | | | | | * lisp/simple.el (unfill-paragraph): New command. * doc/emacs/indent.texi (Indentation Commands): * etc/NEWS: Document it.
* ; * lisp/vc/vc.el (vc-print-change-log): Fix last change.Sean Whitton5 days1-1/+1
|
* In 'frame--purify-parameters' fix frame-inherited-parameters (Bug#80536)Stéphane Marks6 days1-2/+4
| | | | | * lisp/frame.el (frame--purify-parameters): 'frame-inherited-parameters' is a parameter list, not an alist.
* Revert "Rename 'any' to 'member-if' and deprecate 'cl-member-if'"Mattias Engdegård6 days9-68/+40
| | | | | | This reverts commit 2bdf15f6d8293b21234cd236f39ce68f62e1f6c3. There is no consensus for this change.
* Merge branch 'master' of git.sv.gnu.org:/srv/git/emacsMichael Albinus6 days15-81/+144
|\
| * ; Fix docstring of vc-print-root-change-logFilipp Gunbin6 days1-1/+1
| |
| * eglot.el: Avoid `%s` for composite objectsStefan Monnier6 days1-18/+21
| | | | | | | | | | | | | | | | | | | | * lisp/progmodes/eglot.el (eglot--check-object, eglot--check-dspec) (eglot-shutdown-all, eglot--connect, eglot--lsp-position-to-point) (eglot--read-server, eglot-handle-notification, eglot-handle-request): Avoid `%s` for composite objects. (eglot--connect, eglot--format): Use `fboundp` rather than `functionp` to check if something is defined. (eglot--sig-info): Prefer `point-min`.
| * Add mirroring for special glyphs (bug#80440)Manuel Giraud6 days1-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See initial discussion here: https://lists.gnu.org/archive/html/emacs-devel/2026-02/msg00400.html * lisp/international/characters.el (pairs): Populate special-mirror-table. * src/xdisp.c (produce_special_glyphs): Add two arguments. One to identify the paragraph direction and one to identify that the glyph is produced on the left hand side of a window. Mirror glyph defined in the display table according to the new special-mirror-table. Bidi mirroring always takes precedence. (init_iterator, insert_left_trunc_glyphs, display_line) (display_string): Call 'produce_special_glyphs' with new arguments. (syms_of_xdisp) <special-mirror-table>: New char-table. * etc/NEWS: Announce the change.
| * CC Mode: Handle mixed symbols and non-symbols in regexpsAlan Mackenzie6 days1-15/+24
| | | | | | | | | | | | | | | | | | This fixes bug#80507. * lisp/progmodes/cc-defs.el (c-make-keywords-re): When a mixed list of symbols and non-symbols is presented to this function, put "\_< .... \_>" brackets around the part which handles the symbols in the resulting regexp.
| * Fix respecting vc-log-show-limit with new -change-log commandsSean Whitton6 days1-2/+2
| | | | | | | | | | * lisp/vc/vc.el (vc-print-change-log, vc-print-root-change-log): Respect vc-log-show-limit when there is no prefix argument (bug#80532).
| * Rename 'any' to 'member-if' and deprecate 'cl-member-if'Sean Whitton6 days9-40/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/subr.el (any): Rename from this ... (member-if): ... to this. All uses changed. Implement '&key KEY-FN' for backwards compatibility. (any): New function alias. * lisp/emacs-lisp/cl-seq.el (cl-member-if): Make an alias for 'member-if'. * lisp/obsolete/cl.el (member-if): Delete obsolete function alias. * doc/lispref/lists.texi (List Elements): * doc/misc/cl.texi (Lists as Sets): * etc/NEWS: Document the change.
| * ; Tweak splash screen some more. Fix some punctuation.Sean Whitton6 days1-1/+2
| |
| * dired-diff: Fix default input in inserted subdirectorySean Whitton6 days1-4/+4
| | | | | | | | | | | | | | * lisp/dired-aux.el (dired-diff): Use default-directory, not dired-current-directory, to determine whether the default input is in another directory (bug#80497). Use a relative file name to improve readability.
* | Merge branch 'master' of git.sv.gnu.org:/srv/git/emacsMichael Albinus6 days1-130/+203
|\ \ | |/
| * Make tree-sitter thing navigation handle nested parsersYuan Fu7 days1-130/+203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not a bug report, but this is from the emacs-devel thread "Tree-sitter: Transcendental things". Improve tree-sitter thing navigation functions to handle the case where there are multiple nested parsers in the buffer. Previously these functions just grab the node at point and are limited to the parser of that node. Now these functions will thoUrouly search through all parsers that covers point before giving up. * doc/lispref/parsing.texi: Mention the change. * lisp/treesit.el (treesit--some): New macro. (treesit--thing-sibling): Use the new macro, add a new PARSER parameter. (treesit-thing-prev): (treesit-thing-next): Add PARSER parameter. (treesit-thing-at): (treesit-navigate-thing): Use the new macro, add a new PARSER parameter. Also pass the PARSER arg to recursive calls and calls to treesit-thing-prev, etc.
* | Fix grep defaultsMichael Albinus7 days1-16/+19
|/ | | | | * lisp/progmodes/grep.el (grep-compute-defaults): Quote "xargs" only for local hosts, running MS Windows. (Bug#80489)
* Initialize help-window-old-frame againBasil L. Contovounesios7 days1-0/+1
| | | | | | | | Its sole initialization seems to have been accidentally dropped as part of bug#25979. * lisp/help.el (help--window-setup): Set help-window-old-frame before showing the help buffer (bug#80505).
* Simplify some overly defensive compiler macrosMattias Engdegård7 days1-14/+8
| | | | | | | | * lisp/emacs-lisp/bytecomp.el (bytecomp--check-eq-args) (bytecomp--check-memq-args, bytecomp--char-before) (bytecomp--backward-char, bytecomp--backward-word): Don't bother with malformed calls; macroexp--compiler-macro won't call the handler unless the arity matches.
* Don't complain on compiler-macro arity mismatchMattias Engdegård7 days1-2/+8
| | | | | | | | | | * lisp/emacs-lisp/macroexp.el (macroexp--compiler-macro): Don't warn if calling the compiler-macro handler elicits an arity error. This helps in two ways: no messy wrong-number-of-arguments errors during macro-expansion, only the actual warnings emitted by the compiler, and compiler-macros no longer need to be written defensively to avoid such errors.
* sh-script: Mark + and * as punctuation rather than a symbol constituentJames Cherti7 days1-0/+2
| | | | | | | | | | | | | | | | In Bash, the characters + and * are not valid in variable names. In sh, they are also disallowed in both function and variable names. Treating them as punctuation is appropriate, as they most commonly appear as operators. Examples: . Arithmetic: $((var1*var2)) . Compound assignment: list_name+=("item") * lisp/progmodes/sh-script.el (sh-mode-syntax-table): Mark + and * as punctuation in the syntax table. (Bug#80280) Copyright-paperwork-exempt: yes
* Handle side windows in 'ediff-setup-windows-plain-compare' (Bug#80415)Martin Rudalics8 days1-33/+28
| | | | | | | | * lisp/vc/ediff-wind.el (ediff-split-window-function) (ediff-merge-split-window-function): Amend doc-strings. (ediff-setup-windows-plain-compare): Simplify minibuffer window handling, handle side windows (Bug#80415), avoid 'other-window' and 'switch-to-buffer' calls.
* ; Explain some details about rust-panic rule (bug#80403)Mattias Engdegård8 days1-1/+5
|