summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
* ; * admin/MAINTAINERS: Note what I maintainPhilip Kaludercic2024-07-271-0/+1
|
* ; * admin/MAINTAINERS: Remove Nicolas Petton.Stefan Kangas2024-07-252-4/+2
| | | | Change agreed with Nicolas Petton <nico@petton.fr>.
* ; Fix typosStefan Kangas2024-07-181-1/+1
|
* Checkdoc fixes in `emacs-lisp/*.el`Stefan Kangas2024-07-084-5/+5
| | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-free-vars-warn) (byte-compile-out): * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): * lisp/emacs-lisp/find-func.el (find-ert-deftest-regexp): * lisp/emacs-lisp/macroexp.el (byte-compile-form-stack): Checkdoc fixes.
* ; Improve a recent change to the documentationEli Zaretskii2024-07-081-2/+2
| | | | | | * lisp/emacs-lisp/comp.el (native-comp-debug): * doc/lispref/compile.texi (Native-Compilation Variables): Improve wording.
* Revert "Fix link to major mode variable in docstring"Stefan Kangas2024-07-081-1/+1
| | | | | | | | This reverts commit 73c1252bb6b7cc61d9f992818568d3c57de4ff67. This will sometimes say "the variable `(default-value 'global-auto-revert-mode)'". Problem reported by Eshel Yaron <me@eshelyaron.com>.
* ; Improve 'native-comp-debug' documentationAndrea Corallo2024-07-081-1/+3
| | | | | * lisp/emacs-lisp/comp.el (native-comp-debug): Improve doc. * doc/lispref/compile.texi (Native-Compilation Variables): Likewise.
* Clarify `checkdoc-max-keyref-before-warn` docstringStefan Kangas2024-07-071-8/+9
| | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-max-keyref-before-warn): Clarify and reflow docstring. Fix warning about overly long docstring.
* ; Reflow "Commentary" in lisp-mnt.elStefan Kangas2024-07-061-2/+2
| | | | * lisp/emacs-lisp/lisp-mnt.el: Reflow "Commentary" section.
* ; * lisp/emacs-lisp/comp-run.el (native--compile-async): Improve warning.Eli Zaretskii2024-07-061-1/+1
|
* package-buffer-info: Move 'require' earlierStefan Kangas2024-07-061-1/+1
| | | | | * lisp/emacs-lisp/package.el (package-buffer-info): Move 'require' earlier, before it is needed.
* ; Fix doc string of 'string-fill'Eli Zaretskii2024-07-061-6/+6
| | | | | * lisp/emacs-lisp/subr-x.el (string-fill): Rename LENGTH to WIDTH and update the doc string accordingly. (Bug#71856)
* Improve warnings from native compilerEli Zaretskii2024-07-052-4/+4
| | | | | | | | | | * src/comp.c (syms_of_comp) <native-compiler>: Rename from 'comp'. * src/lread.c (maybe_swap_for_eln): * lisp/emacs-lisp/comp.el (comp--fwprop): * lisp/emacs-lisp/comp-run.el (comp--accept-and-process-async-output, native--compile-async): Adjust to the new symbol.
* (edebug--called-interactively-skip): Fix bug#71934Stefan Monnier2024-07-041-3/+2
| | | | | * lisp/emacs-lisp/edebug.el (edebug--called-interactively-skip): Adjust to new interpreted functions.
* Autoload some string functionsStefan Kangas2024-07-031-0/+4
| | | | | | | | | These functions are documented in both `(elisp) Creating Strings' and 'M-x shortdoc RET string RET', so users will expect them to be available without having to require 'subr-x'. * lisp/emacs-lisp/subr-x.el (string-fill, string-limit, string-pad) (string-chop-newline): Autoload.
* ; Fix typos in symbolsStefan Kangas2024-06-292-5/+4
|
* Silence warning with global minor mode :predicateStefan Kangas2024-06-291-1/+2
| | | | | * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Silence byte-compiler warning when :predicate is used.
* Fix link to major mode variable in docstringStefan Kangas2024-06-281-1/+1
| | | | | * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): Fix link to major mode variable in docstring. (Bug#71815)
* Correct ommissions in rmc.elPo Lu2024-06-281-3/+10
| | | | | | | | * lisp/emacs-lisp/rmc.el (touch-screen-scroll) (touch-screen-pinch): Declare functions. (read-multiple-choice--short-answers): Call the same functions directly and prevent the on-screen keyboard from being deactivated immedately before it is reopened.
* Don't hide `not` and `null` arity errorsMattias Engdegård2024-06-171-7/+8
| | | | | * lisp/emacs-lisp/byte-opt.el (byte-optimize-not): Don't silently convert incorrect `not` and `null` applications to nil.
* Improve treatment of touch screen input by rmc and its callersPo Lu2024-06-171-35/+71
| | | | | | | | | | | * lisp/emacs-lisp/rmc.el (read-multiple-choice--short-answers): Run touch screen event translation on touch screen events received, and respond to pinch, tap and scrolling gestures. * lisp/net/nsm.el (nsm-query-user): Disable use-dialog-box in the details window. * lisp/touch-screen.el (touch-screen-translate-touch): Autoload.
* Add new command 'package-vc-log-incoming'Philip Kaludercic2024-06-091-0/+7
| | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-log-incoming): Implement it. * etc/NEWS: Mention it.
* (pcase--app-subst-match): Try and fix performance regression (bug#71398)Stefan Monnier2024-06-081-5/+28
| | | | | | | * lisp/emacs-lisp/pcase.el (pcase--app-subst-match): Optimize matches against (quote VAL). * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-quote-optimization): Add new test case.
* * lisp/buff-menu.el (Buffer-menu-group-sort-by): New defcustom.Juri Linkov2024-06-071-3/+4
| | | | | | | | | | | | (list-buffers--refresh): Use Buffer-menu-group-sort-by instead of the hard-coded function (bug#70150). (Buffer-menu-group-sort-alphabetically): New function as an option for 'Buffer-menu-group-sort-by'. (list-buffers-noselect): Remove setting outline-minor-mode-use-buttons to 'in-margins' that it not required for this feature to work correctly. * lisp/emacs-lisp/tabulated-list.el (tabulated-list-groups-sort): Add optional argument 'level'.
* Format string warnings for more functions (bug#71379)Mattias Engdegård2024-06-061-1/+2
| | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-format-like): Add message-box, message-or-box, warn and user-error.
* Allow multi-level outlines in tabulated-list-groups used by list-buffersJuri Linkov2024-06-051-0/+78
| | | | | | | | | | | | | * lisp/emacs-lisp/tabulated-list.el (tabulated-list-groups) (tabulated-list-groups-categorize, tabulated-list-groups-sort) (tabulated-list-groups-flatten): New functions (bug#70150). * lisp/buff-menu.el (Buffer-menu-group-by): Change type from a function to a list of functions. (list-buffers--refresh): Use the function 'tabulated-list-groups' where :path-function uses a list of functions from 'Buffer-menu-group-by', and :sort-function is hard-coded to sort groups by name. (Buffer-menu-group-by-mode, Buffer-menu-group-by-root): Remove prefix "*".
* Spelling fixesPaul Eggert2024-06-043-5/+5
|
* pcase.el (\`): Try and handle large patterns betterStefan Monnier2024-06-031-22/+30
| | | | | | | | | | | | | | | | | | | | | Large backquote patterns tend to lead to very large and deeply nested expansions, but they also tend to contain a lot of "constant" subpatterns that can be compiled to quote patterns. This patch does just that. See discussion at https://lists.gnu.org/archive/html/emacs-devel/2024-05/msg01140.html * lisp/emacs-lisp/pcase.el (pcase--split-pred): Improve the handling of pred-vs-quote so it also works with quoted objects like cons cells, vectors, and strings. Simplify the `pcase--mutually-exclusive-p` branch accordingly. (pcase--expand-\`): New function, extracted from the \` pcase macro. Make it recurse internally, and optimize backquote patterns to `quote` patterns where possible. (\`): Use it. * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-vectors): Add tests that were broken by a more naïve version of the optimization. (pcase-tests-quote-optimization): New test.
* Add 'message' to 'comp-primitive-type-specifiers'Andrea Corallo2024-06-031-0/+1
| | | | | * lisp/emacs-lisp/comp-common.el (comp-primitive-type-specifiers): Add message.
* * lisp/emacs-lisp/comp.el (native-compile): Type declare.Andrea Corallo2024-06-031-0/+2
|
* track-changes.el: Keep a bit more info when logging an errorStefan Monnier2024-05-301-4/+5
| | | | | | | * lisp/emacs-lisp/track-changes.el (track-changes--recover-from-error): Add arg `info`. (track-changes-fetch, track-changes--after): Use it to preserve a bit more information about errors.
* ad-activate-advised-definition: Use proper function objectsStefan Monnier2024-05-301-1/+5
| | | | | * lisp/emacs-lisp/advice.el (ad-activate-advised-definition): Use interpreted functions rather than lambda lists.
* Rename comp-run.el and comp-cstr.el private functionsDavide Pola2024-05-292-86/+86
| | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp-run.el (native-compile-async-skip-p) (comp-async-runnings, comp-effective-async-max-jobs) (comp-accept-and-process-async-output, comp-run-async-workers) (comp-trampoline-search): rename using '--' separator convention for private functions. * lisp/emacs-lisp/comp-cstr.el (comp-cstr-copy, comp-cstrs-homogeneous, comp-split-pos-neg) (comp-normalize-valset, comp-union-valsets) (comp-intersection-valsets, comp-normalize-typeset) (comp-union-typesets, comp-intersect-two-typesets) (comp-intersect-typesets, comp-range-union) (comp-range-intersection, comp-range-negation, comp-cstr-add-2) (comp-cstr-sub-2, comp-cstr-union-homogeneous-no-range) (comp-cstr-union-homogeneous, comp-cstr-union-1-no-mem) (comp-cstr-union-1, comp-cstr-union-make) (comp-cstr-intersection-make): Likewise.
* Redirect calls to `subr-native-elisp-p` to `native-comp-function-p`Stefan Monnier2024-05-286-8/+9
| | | | | | | | | | | | | | | | | * test/src/comp-tests.el (comp-tests-bootstrap, lambda-return) (lambda-return2, free-fun, free-fun2, free-fun-silly-name, speed--1) (compile-forms, comp-test-defsubst, primitive-redefine-compile-44221) (48029-1, 61917-1, tco, fw-prop-1, pure): * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun): * lisp/subr.el (subr-primitive-p, primitive-function-p, symbol-file): * lisp/help-fns.el (find-lisp-object-file-name): * lisp/emacs-lisp/disass.el (disassemble-internal): * lisp/emacs-lisp/comp.el (comp--call-optim-form-call): * lisp/emacs-lisp/comp-run.el (comp-warn-primitives): * lisp/emacs-lisp/comp-common.el (comp-function-type-spec): * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): * lisp/emacs-lisp/bytecomp.el (<trailer>): Rename `subr-native-elisp-p` to `native-comp-function-p`.
* Rename `subr-native-elisp` to `native-comp-function` (bug#71123)Stefan Monnier2024-05-281-2/+3
| | | | | | | | | | | | | | | | | Now that this type name is displayed in *Help*, it is more important to use a name that is less weird for the unsuspecting user. * lisp/emacs-lisp/cl-preloaded.el (cl-functionp): Adjust to new name of native function's type. (subr-native-elisp-p): Redefine as an obsolete alias. (native-comp-function): Rename from `subr-native-elisp` * src/data.c (Fcl_type_of): Return `Qnative_comp_function` i.s.o `Qsubr_native_elisp`. (Fnative_comp_function_p): Rename from `Fsubr_native_elisp_p`. (syms_of_data): Adjust accordingly. * src/doc.c (Fsubr_documentation): Use new `Fnative_comp_function_p` name.
* * Rework 'comp-normalize-valset' (bug#71116)Andrea Corallo2024-05-271-14/+16
| | | | | * lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset): Rework to improve consistency.
* Don't let pp fall back to prin1 for consesMichael Heerdegen2024-05-271-1/+1
| | | | | | * lisp/emacs-lisp/pp.el (pp--insert-lisp): Don't `prin1' non-list conses; use our pp function for cons and list printing `pp--format-list' instead.
* Don't try to pretty-print non-lists as binding listMichael Heerdegen2024-05-271-1/+2
| | | | | | | * lisp/emacs-lisp/pp.el (pp--format-definition): Ensure that what we try to print as a list of bindings has an appropriate format. This avoids raising an error for SEXPs like (let X Y) inside `pcase' forms where our heuristic expects a binding list in the X position.
* Further tweak pp code printingMichael Heerdegen2024-05-261-6/+3
| | | | | | | This fixes an aspect of Bug#70868. * lisp/emacs-lisp/pp.el (pp--insert-lisp): Print characters with `prin1-char'. In all other cases consistently print with `prin1'.
* Address compilation errors and warnings on x86 Solaris 10 systemsPo Lu2024-05-261-2/+2
| | | | | | | | | | | | | | | | * doc/misc/ede.texi (Extending EDE): * doc/misc/flymake.texi (Top, Using Flymake): Insert punctuation after xrefs. * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Print number of files being scraped. * src/dired.c (directory_files_internal): * src/eval.c (Fmake_interpreted_closure, Fdefvaralias): * src/fns.c (Fassoc): Work around optimizer failures.
* Improve navigation to cl-defgeneric usesDmitry Gutov2024-05-261-1/+1
| | | | | | * lisp/emacs-lisp/cl-generic.el (cl--generic-find-defgeneric-regexp): Use "symbol end" boundary (bug#71068).
* * lisp/emacs-lisp/pcase.el (pcase--subtype-bitsets): Fix bootstrap failureStefan Monnier2024-05-221-1/+2
| | | | | | | `rm lisp/emacs-lisp/cl-preloaded.elc src/bootstrap-emacs` followed by `make` ended up loading right after defining `built-in-class-p` but before actually defining the built-in-classes so the computation of bitsets failed.
* Silence 3 warnings for non sqlite buildsAndrea Corallo2024-05-191-0/+3
| | | | | * lisp/emacs-lisp/multisession.el (sqlite-commit) (sqlite-transaction, sqlite-rollback): Declare.
* Make 'vtable-insert-object' more versatileJoost Kremers2024-05-181-23/+75
| | | | | | | | | | | | | | * lisp/emacs-lisp/vtable.el (vtable-insert-object): Rename argument AFTER-OBJECT to LOCATION; allow use of index to refer to the insertion position; add argument BEFORE. (Bug#70664). * etc/NEWS: * doc/misc/vtable.texi (Interface Functions): Document the change. * test/lisp/emacs-lisp/vtable-tests.el (test-vtable-insert-object): New test.
* (describe-package-1): Handle (nil . "string") in `:maintainer`Stefan Monnier2024-05-161-1/+1
| | | | | | * lisp/emacs-lisp/package.el (describe-package-1): Refine the check to distinguish the old single-maintainer format from the new multi-maintainer format. (bug#69712)
* * Fix bootstrap with checking enabledAndrea Corallo2024-05-161-1/+2
| | | | | * lisp/emacs-lisp/comp.el (comp--limplify-top-level): Set function safety.
* * Allow for optional function name parameter in 'ftype' declarationAndrea Corallo2024-05-141-1/+5
| | | | | * lisp/emacs-lisp/byte-run.el (defun-declarations-alist): Allow for optional function name parameter in 'ftype' declaration.
* Change 'type' declaration to 'ftype'Andrea Corallo2024-05-144-5/+5
| | | | | | | | | | | | | | | | | * lisp/window.el (get-lru-window, get-largest-window) (one-window-p): Update function type declaration. * lisp/subr.el (ignore, error, zerop, fixnump, bignump, lsh) (last, eventp, mouse-movement-p, log10, memory-limit) (internal-pop-keymap): Likewise. * lisp/simple.el (count-lines, mark, string-empty-p): 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--final): Likewise. * lisp/custom.el (custom-variable-p): Likewise. * lisp/emacs-lisp/byte-run.el (defun-declarations-alist): Rename 'type' -> 'ftype'.
* ; Fix documentation of recently-installed changesEli Zaretskii2024-05-141-4/+7
| | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (compilation-safety): Doc fix. * etc/NEWS: Fix wording of the 'compilation-safety' entry. * doc/lispref/functions.texi (Declare Form): Fix cross-reference and wording. * doc/lispref/compile.texi (Native-Compilation Variables): Add the missing @anchor. Fix wording.
* Add some 'compilation-safety' documentationAndrea Corallo2024-05-131-1/+5
| | | | | | | * lisp/emacs-lisp/bytecomp.el (compilation-safety): Better doc. * doc/lispref/functions.texi (Declare Form): Add 'safety'. * doc/lispref/compile.texi (Native-Compilation Variables): Add 'compilation-safety'.