summaryrefslogtreecommitdiff
path: root/lisp
Commit message (Collapse)AuthorAge
...
| * Fix intra compilation unit function type declarationAndrea Corallo2024-05-05
| | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-func): Add 'slot'. (comp--intern-func-in-ctxt): Update. (comp--get-function-cstr): Update.
| * eglot.el: Require `track-changes` unconditionallyStefan Monnier2024-05-05
| | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/track-changes.el: Bump version. * lisp/progmodes/eglot.el: Require `track-changes` unconditionally. (Package-Requires:): Add `track-changes`. (eglot--track-changes-signal, eglot--signal-textDocument/didChange) (eglot--managed-mode): Remove non-track-changes alternative code. (eglot--before-change, eglot--after-change): Delete functions.
| * Fix Eshell handling of remote files like "/ssh:remote:~/file.txt"Jim Porter2024-05-05
| | | | | | | | | | | | | | | | | | | | | | * lisp/eshell/em-glob.el (eshell-glob-convert): Use 'concat' instead of 'file-name-concat' to avoid extraneous slashes. (eshell-extended-glob): Bail out if we didn't find a glob after all. * test/lisp/eshell/em-glob-tests.el (tramp): Require. (em-glob-test/convert/remote-start-directory): Use the mock remote connection. (em-glob-test/remote-user-directory): New test.
| * Fix tab-line-tabs-buffer-groups (bug#59438)Gabriel do Nascimento Ribeiro2024-05-05
| | | | | | | | | | * lisp/tab-line.el (tab-line-tabs-buffer-groups): Handle case when variable 'tab-line-tabs-buffer-groups-sort-function' is nil.
| * * lisp/tab-line.el: Use defcustom for group sort variables (bug#59438).Juri Linkov2024-05-05
| | | | | | | | | | | | | | | | | | (tab-line-tabs-buffer-group-sort-function) (tab-line-tabs-buffer-groups-sort-function): Turn defvar into defcustom. Suggested by Gabriel do Nascimento Ribeiro <gabriel376@hotmail.com>. (tab-line-tabs-buffer-group-name): Fall back to 'tab-line-tabs-buffer-group-by-mode' when 'tab-line-tabs-buffer-group-function' is nil (its previous default value).
| * Fix lock-file format in TrampMichael Albinus2024-05-05
| | | | | | | | | | * lisp/net/tramp.el (tramp-lock-file-info-regexp): BOOT_TIME can be negative. (Bug#70415)
| * project--vc-list-files: Use vc-git-command for better error reportingDmitry Gutov2024-05-05
| | | | | | | | | | | | * lisp/progmodes/project.el (project--vc-list-files): Use 'vc-git-command' for better error reporting (https://lists.gnu.org/archive/html/emacs-devel/2024-05/msg00399.html).
| * (read-passwd-toggle-visibility): Fix some loose endsStefan Monnier2024-05-05
| | | | | | | | | | | | | | | | | | * lisp/auth-source.el (read-passwd-toggle-visibility): Make sure we operate on the minibuffer even if some other window was selected when the little icon was pressed. Don't hardcode the keymap representation. Use the `keymap` property rather than the `local-map` property so it can't be accidentally shadowed by something like a minor-mode map.
| * Retract lexical cookie source load warningMattias Engdegård2024-05-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On balance it seems likely that the warning would annoy more people than it would help, so let them deal with any actual problems when the default is changed instead. See discussion at: https://lists.gnu.org/archive/html/emacs-devel/2024-05/msg00250.html * src/lread.c (string_suffix_p, warn_missing_cookie, Fload) (Feval_buffer): * lisp/international/mule.el (load-with-code-conversion): * lisp/startup.el (command-line--load-script): * etc/NEWS: Revert all changes, except for the generalised `lisp_file_lexical_cookie` which may prove useful in the future.
| * Run c-unmark-<>-around-region in after-change-functions always.Alan Mackenzie2024-05-05
| | | | | | | | | | | | | | | | | | This fixes bug#70435. * lisp/progmodes/cc-engine.el (c-unmark-<>-around-region): Run its contents in after-change-functions for a deletion, so that c-new-BEG and c-new-END get set. Add a new test (> end beg) in a check for unterminated string handling.
| * ; Improve documentation of a recent changeEli Zaretskii2024-05-05
| | | | | | | | | | * lisp/progmodes/project.el (project-files-relative-names): * etc/NEWS: Improve documentation of 'project-files-relative-names'.
| * New variable 'project-files-relative-names'Dmitry Gutov2024-05-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/project.el (project-files-relative-names): New variable (bug#69233). (project--files-in-directory): Honor it. (project--vc-list-files): Here too. (project-find-regexp): Use it to improve performance. (project-or-external-find-regexp): Add a TODO. (project-find-file): Use it here too. (project--read-file-cpd-relative, project--read-file-absolute): Try to handle file lists with absolute and relative files names. (project-find-file-in): Set default-directory, so relative names are interpreted correctly. * lisp/progmodes/xref.el (xref-matches-in-files): Consider that the first in FILES can be a relative file name. * test/lisp/progmodes/project-tests.el (project-find-regexp): New test. * etc/NEWS: Mention it.
| * Don't permit C-x 8 RET &c in isearch.el to contaminate search stringPo Lu2024-05-05
| | | | | | | | | | | | | | | | * lisp/isearch.el (isearch-char-by-name, isearch-emoji-by-name): Concatenate new character to the query string saved by with-isearch-suspended, not the current string, which might have been modified by recursive I-search sessions within completing-read.
| * (eglot--track-changes-signal): Improve last fix (bug#70541)Stefan Monnier2024-05-04
| | | | | | | | | | * lisp/progmodes/eglot.el (eglot--add-one-shot-hook): New function. (eglot--track-changes-signal): Use it.
| * textsec: handle email address without domain partAndreas Schwab2024-05-04
| | | | | | | | | | | | * lisp/international/textsec.el (textsec-email-address-suspicious-p): Handle missing domain part. (textsec-email-address-header-suspicious-p): Likewise.
| * (ruler-mode-ruler): Minor optimizationStefan Monnier2024-05-04
| | | | | | | | | | | | * lisp/ruler-mode.el (ruler-mode-ruler): Don't compute `line-number-display-width` redundantly. Use `add-text-properties`. Remove redundant `local-map` property.
| * Allow `letrec` binding without init expressionMattias Engdegård2024-05-04
| | | | | | | | | | | | | | For example, (letrec (... (x) ...) ...) is now allowed. * lisp/subr.el (letrec): Allow omitted init expression. * test/lisp/subr-tests.el (subr--tests-letrec): Add test case.
| * ; Fix last changeEli Zaretskii2024-05-04
| | | | | | | | | | | | * lisp/progmodes/python.el (python-shell-compilation-regexp-alist): Add :version. (Bug#70653)
| * Locate error source of ExceptionGroup in Python shellshynur2024-05-04
| | | | | | | | | | | | | | | | | | | | The Python shell recognizes the line containing a file path and a line number when an exception is raised up to the top-level, in order to locate the source of error. It's supposed to recognize the built-in ExceptionGroup as well. (Bug#70653) * lisp/progmodes/python.el (python-shell-compilation-regexp-alist): Take the single leading vertical line into account. * etc/NEWS: Announce this change.
| * Delete redundant backquotes in android-win.elPo Lu2024-05-04
| | | | | | | | | | | | * lisp/term/android-win.el (android-encode-jni) (android-decode-jni): Replace redundant backquotes with ordinary quotes.
| * * lisp/progmodes/eglot.el (eglot--track-changes-signal): More typoStefan Monnier2024-05-03
| |
| * * lisp/emacs-lisp/track-changes.el (track-changes-inconsistent-state-p): TypoStefan Monnier2024-05-03
| |
| * Query Eglot version via package.elPhilip Kaludercic2024-05-03
| | | | | | | | | | * lisp/progmodes/eglot.el (eglot--version): Remove constant. (eglot--connect): Use 'package-get-version'.
| * Warn when loading .el files without lexical-binding declarationMattias Engdegård2024-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This corresponds to the byte-compiler warning for the same issue, here emitted for files that aren't compiled but loaded from source. It should make the planned change to enable lexical binding by default in Emacs 31 go smoother. * src/lread.c (lexical_cookie_t): New type. (lisp_file_lexically_bound_p): Renamed to... (lisp_file_lexical_cookie): ...this, with the return value retyped. * src/lread.c (warn_missing_cookie): New. (Fload): Warn when loading source file and cookie missing. (Feval_buffer): Add LOADING arg; warn when set and cookie missing. * lisp/international/mule.el (load-with-code-conversion): * lisp/startup.el (command-line--load-script): Call eval-buffer with LOADING arg set. * etc/NEWS: Announce.
| * track-changes.el: Add a workaround for bug#70541Stefan Monnier2024-05-03
| | | | | | | | | | | | * lisp/emacs-lisp/track-changes.el (track-changes-inconsistent-state-p): New function. * lisp/progmodes/eglot.el (eglot--track-changes-signal): Use it.
| * mhtml-mode: Use `run-mode-hook' to run `prog-mode-hook' (bug#70671)Ihor Radchenko2024-05-03
| | | | | | | | | | | | | | | | * lisp/textmodes/mhtml-mode.el (mhtml-mode): When running hooks simulating inheritance from `prog-mode', use `run-mode-hooks' that honors `delay-mode-hooks' macro. Note that `delay-mode-hooks' is bound to non-nil when major mode body is evaluated, so there is no chance that any major mode-related hooks are executed twice.
| * Fix bug#70711Elias G. Perez2024-05-03
| | | | | | | | | | | | | | * lisp/progmodes/flymake.el (flymake--indicator-overlay-spec): Check if `flymake-fringe-indicator-position' or `flymake-margin-indicator-position' are non-nil for allow no indicators.
| * Only run 'eshell-first-time-mode-hook' once per Emacs sessionLin Sun2024-05-02
| | | | | | | | | | * lisp/eshell/esh-mode.el (eshell-mode): Set 'eshell-first-time-p' to nil (bug#70610).
| * ; Set explicit hook depth for erc-once-with-server-eventF. Jason Park2024-05-02
| | | | | | | | | | | | | | | | | | | | | | * lisp/erc/erc.el (erc-once-with-server-event): Set hook depth to -95. * test/lisp/erc/erc-scenarios-base-association-nick.el: Improve comment. * test/lisp/erc/resources/erc-d/erc-d-tests.el (erc-d--render-entries): Remove do-nothing assertion since its purpose was unclear and likely dubious, as was incidentally highlighted by the addition of a function not present on older Emacsen, which this test still needs to run on.
| * Eliminate string data mutation in ruler-modeMattias Engdegård2024-05-02
| | | | | | | | | | * lisp/ruler-mode.el (ruler-mode-ruler): Mutate a vector instead of a string.
| * * lisp/tab-bar.el: Support mouse clicks bound in keymap properties.Juri Linkov2024-05-02
| | | | | | | | | | | | | | (tab-bar--event-to-item): Handle mouse bindings for commands bound in keymap properties of global-mode-string (bug#70086). (tab-bar-mouse-down-1, tab-bar-mouse-1, tab-bar-touchscreen-begin): Add the symbol 'global' to the list of handled items.
| * Make the buffer displayed by tab-bar-select-restore-windows internalJuri Linkov2024-05-02
| | | | | | | | | | * lisp/tab-bar.el (tab-bar-select-restore-windows): Make the buffer " *Old buffer %s*" internal with the leading space in its name.
| * Merge branch 'lisp-func-type-decls' into 'master'Andrea Corallo2024-05-02
| |\
| | * * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix type declaration.Andrea Corallo2024-04-30
| | |
| | * Rename property 'declared-type' to 'function-type'Andrea Corallo2024-04-29
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/byte-run.el (byte-run--set-function-type): Rename. (defun-declarations-alist): Update. * lisp/emacs-lisp/comp.el (comp--get-function-cstr): Likewise.
| | * Move lisp function arg type declarations to the functions itselfAndrea Corallo2024-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp-common.el (comp-primitive-type-specifiers): Remove type declaration of lisp functions. * lisp/window.el (get-lru-window, get-largest-window) (one-window-p): Declare type. * lisp/subr.el (ignore, error, zerop, fixnump, bignump, lsh) (last, eventp, mouse-movement-p, log10, memory-limit) (interactive-p): Likewise. * lisp/simple.el (count-lines, mark, lax-plist-get): Likewise. * lisp/files.el (parse-colon-path): Likewise. * lisp/env.el (getenv): Likewise. * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Likewise. * lisp/emacs-lisp/lisp.el (buffer-end): Likewise. * lisp/emacs-lisp/comp.el (comp-hint-fixnum, comp-hint-cons): Likewise. * lisp/custom.el (custom-variable-p): Likewise.
| | * Make use of Lisp function declarationsAndrea Corallo2024-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-primitive-func-cstr-h): Rename. (comp--get-function-cstr): Define new function. (comp--add-call-cstr, comp--fwprop-call): Update. * lisp/emacs-lisp/comp-common.el (comp-function-type-spec): Update. * lisp/help-fns.el (help-fns--signature): Mention when a type is declared. * lisp/emacs-lisp/comp.el (comp-primitive-func-cstr-h): Rename.
| | * * Add function type declarations for Lisp functionsAndrea Corallo2024-04-29
| | | | | | | | | | | | | | | * lisp/emacs-lisp/byte-run.el (byte-run--set-declared-type): Add alias. (defun-declarations-alist): Use it for 'type' declaration.
| * | Add lexical cookie to new init filesMattias Engdegård2024-05-02
| | | | | | | | | | | | | | | * lisp/cus-edit.el (custom-save-all): Add lexical cookie if the file is empty.
| * | ; Fix last changeEli Zaretskii2024-05-02
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/python.el (python-shell-send-block): Doc fix. * test/lisp/progmodes/python-tests.el (python-test--shell-send-block): Avoid byte-compiler warnings. (Bug#70609)
| * | New function 'python-shell-send-block' for python-modeLin Sun2024-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/python.el (python-shell-send-block): New function. * test/lisp/progmodes/python-tests.el (python-test--shell-send-block): Test case for the new function. * etc/NEWS: Document 'python-shell-send-block'. (Bug#70609)
| * | Improve performance of `file-truename' (bug#70036)Ihor Radchenko2024-05-02
| | | | | | | | | | | | | | | | | | | | | * lisp/files.el (file-truename): Avoid repetitive calls to `file-name-nondirectory'. These calls contribute significantly to CPU time. See the benchmarks in https://debbugs.gnu.org/cgi/bugreport.cgi?bug=70036#47
| * | Add ExceptionGroup as a Python keywordkobarity2024-05-02
| | | | | | | | | | | | | | | | | | * lisp/progmodes/python.el (python-font-lock-keywords-maximum-decoration) (python--treesit-exceptions): Add ExceptionGroup. (Bug#70653)
| * | Eglot: Add 'command-modes' property to all suitable commandsAugusto Stoffel2024-05-02
| | | | | | | | | | | | | | | | | | Those are the commands that call 'eglot--current-server-or-lose'. * lisp/progmodes/eglot.el (eglot--managed-mode), (eglot-list-connections-mode): Make non-interactive. (Bug#70554)
| * | * lisp/emacs-lisp/warnings.el: Fix 'warning-display-at-bottom'.Juri Linkov2024-05-02
| | | | | | | | | | | | | | | (display-warning): Move point to the beginning of the last line instead of its end for 'warning-display-at-bottom' (bug#69983).
| * | Support hints in the :repeat keyword of defvar-keymap for repeat-modeJuri Linkov2024-05-02
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/keymap.el (defvar-keymap): Add :hints to the :repeat keyword. Put the property 'repeat-hint' on the command symbol. * lisp/repeat.el (repeat-echo-message-string): Show hint strings defined with the property 'repeat-hint' on the command symbol (bug#70576).
| * | * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode): Add 'text' (bug#67036).Juri Linkov2024-05-02
| | | | | | | | | | | | | | | Add 'text' lambda to 'treesit-thing-settings' that should fall back to the default functions for sentence/sexp navigation.
| * | Tighten regexp for rust-ts-mode keyword workaroundYuan Fu2024-05-01
| | | | | | | | | | | | | | | * lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings): Add bos and eos.
| * | Fix fontification for else in macro body in rust-ts-modeYuan Fu2024-05-01
| | | | | | | | | | | | | | | | | | * lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings): Add a rule for else in macro body. Also added the same rule for "in" and "move" keyword, as they seems to have the same problem.
| * | Add font-locking for typed parameters in python-ts-mode (bug#70665)Noah Peart2024-05-01
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/python.el (python--treesit-settings): Add tree-sitter font-locking rule for typed parameters. * test/lisp/progmodes/python-tests.el (python-ts-mode-types-face-1): Test for font-lock-variable-name-face in typed parameter.