summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
* * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Use a closureStefan Monnier2021-05-181-13/+14
|
* * lisp/emacs-lisp/lisp-mode.el (lisp-outline-level): Fix imprecise numbers.Juri Linkov2021-05-181-3/+9
| | | | | (lisp-outline-level): Return right levels starting from 1 instead of 5. Suggested by Howard Melman <hmelman@gmail.com> in bug#46878.
* Look for ElDoc buffer in all visible framesBasil L. Contovounesios2021-05-181-1/+1
| | | | | | | * lisp/emacs-lisp/eldoc.el (eldoc--echo-area-prefer-doc-buffer-p): Look for a window displaying the ElDoc documentation buffer in all visible frames, as promised by the user option eldoc-echo-area-prefer-doc-buffer (bug#48278).
* Fix the length= shortdoc exampleAlexandr Vityazev2021-05-181-1/+1
| | | | | | | * lisp/emacs-lisp/shortdoc.el (list): Fix the length= example (bug#48495). Copyright-paperwork-exempt: yes
* Fix pcase 'rx' patterns with a single named submatch (bug#48477)Mattias Engdegård2021-05-181-5/+16
| | | | | | | | | | | | | | | pcase 'rx' patterns with a single named submatch, like (rx (let x "a")) would always succeed because of an over-optimistic transformation. Patterns with 0 or more than 1 named submatches were not affected. Reported by Philipp Stephani. * lisp/emacs-lisp/rx.el (rx--pcase-macroexpander): Special case for a single named submatch. * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add tests.
* * lisp/emacs-lisp/subr-x.el (if-let): Swap &or branches (Bug#48489)Philipp Stephani2021-05-181-2/+2
|
* Fix a few Edebug specifications where code is wrapped in lambdas.Philipp Stephani2021-05-177-8/+12
| | | | | | | | | | | | | | | | | | | | | | As the Info node `(elisp) Specification List' explains, it is not correct to use `body' or t for a piece of code that the macro wraps in a `lambda' form. These should use `def-body' instead. * lisp/info-xref.el (info-xref-with-file): * lisp/subr.el (subr--with-wrapper-hook-no-warnings, track-mouse) (combine-change-calls, with-eval-after-load): * lisp/emacs-lisp/bytecomp.el (displaying-byte-compile-warnings): * lisp/emacs-lisp/cl-macs.el (cl-do-symbols, cl-progv): * lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): * lisp/emacs-lisp/gv.el (gv-letplace): * lisp/emacs-lisp/nadvice.el (define-advice): * lisp/emacs-lisp/thunk.el (thunk-delay): * lisp/vc/vc-dispatcher.el (vc-run-delayed): Use 'def-body' instead of t or 'body' where applicable. * lisp/emacs-lisp/package.el (package--with-response-buffer): Remove evaluation of the body altogether. I have no idea how to write it correctly in this case.
* Add a 'silent option for native-comp-async-report-warnings-errorsEric Abrahamsen2021-05-161-10/+19
| | | | | | | * lisp/emacs-lisp/comp.el (native-comp-async-report-warnings-errors): Set to 'silent to log warnings, but not pop up the *Warnings* buffer. * lisp/emacs-lisp/comp.el (comp-accept-and-process-async-output): Check value.
* Optimize calls to 'eql', 'memql' and similar for fixnums.Philipp Stephani2021-05-161-6/+20
| | | | | | | | | | | | | It's good practice to compare integers using 'eql' because two bignum objects representing the same integer might not be 'eq'. However, 'eql' is slower and doesn't have its own byte code. Therefore, replace it with 'eq' if one argument is guaranteed to be a fixnum on all platforms. * lisp/emacs-lisp/byte-opt.el (byte-optimize--fixnump): New helper function. (byte-optimize-equal, byte-optimize-member, byte-optimize-assoc): Use it to optimize 'eql' etc. to 'eq' if it will always compare fixnums.
* Even further `text-property-search-forward' clarificationsLars Ingebrigtsen2021-05-121-6/+8
| | | | | * lisp/emacs-lisp/text-property-search.el (text-property-search-forward): Further doc string clarifications.
* Further corrections for the text-property-search doc stringsLars Ingebrigtsen2021-05-121-4/+5
| | | | | | * lisp/emacs-lisp/text-property-search.el (text-property-search-forward): Correct doc string. (text-property-search-backward): Ditto.
* Fix the tests for 'string-limit'Eli Zaretskii2021-05-121-0/+12
| | | | | | | | | * test/lisp/emacs-lisp/subr-x-tests.el (subr-string-limit-coding): Fix the expected results of string-limit when encoding with UTF-16. Add tests for UTF-8 with BOM. (Bug#48324) * lisp/emacs-lisp/subr-x.el (string-limit): Add FIXME comment about the current implementation, which is faulty by design.
* * Rename comp-deferred-compilation-deny-listAndrea Corallo2021-05-111-3/+3
| | | | | | | * lisp/emacs-lisp/comp.el (native-comp-deferred-compilation-deny-list) (native-compile-async-skip-p): Rename comp-deferred-compilation-deny-list -> native-comp-deferred-compilation-deny-list.
* `text-property-search-forward' doc string improvementLars Ingebrigtsen2021-05-111-13/+22
| | | | | | * lisp/emacs-lisp/text-property-search.el (text-property-search-forward): Correct and clarify the doc string (bug#48317).
* Reintroduce autoloads for edebug-all-defs/edebug-all-formsLars Ingebrigtsen2021-05-091-0/+2
| | | | | | | * lisp/emacs-lisp/edebug.el (edebug-all-defs, edebug-all-forms): Reintroduce ;;;###autoload of these user options that were removed in bae2cfe63c, because this leads to errors in a common (and recommended) use case (bug#47516).
* ; Fix recent re-builder doc changes.Basil L. Contovounesios2021-05-081-1/+1
|
* Mention that Emacs is usually case-insensitive in a couple of placesdalanicolai2021-05-081-1/+6
| | | | | | | | | | * doc/lispref/searching.texi (Regular Expressions): Mention `case-fold-search'. * lisp/emacs-lisp/re-builder.el (re-builder): Mention case sensitivity toggles (bug#47534). Copyright-paperwork-exempt: yes
* Fix a recent change in rmc.elEli Zaretskii2021-05-071-28/+29
| | | | | * lisp/emacs-lisp/rmc.el (read-multiple-choice): Doc fix. Improve the message when entering recursive-edit.
* Rename comp-eln-load-path → native-comp-eln-load-pathAndrea Corallo2021-05-061-10/+10
| | | | | | | | | | | | * src/comp.c (Fcomp_el_to_eln_filename): Rename comp-eln-load-path → native-comp-eln-load-path. * src/lread.c (maybe_swap_for_eln): Likewise. * lisp/startup.el (native-comp-eln-load-path) (normal-top-level): Likewise. * lisp/emacs-lisp/comp.el (comp-spill-lap-function, comp-final) (comp-eln-load-path-eff, comp-trampoline-compile) (comp-clean-up-stale-eln, comp-run-async-workers) (comp-lookup-eln, batch-byte-native-compile-for-bootstrap): Likewise.
* Rename comp-warning-on-missing-sourceAndrea Corallo2021-05-061-1/+1
| | | | | | | | | * src/lread.c (maybe_swap_for_eln): Rename comp-warning-on-missing-source → native-comp-warning-on-missing-source. * src/comp.c (syms_of_comp): Likewise. * lisp/emacs-lisp/comp.el (native-comp-warning-on-missing-source): Likewise.
* Rename comp-native-driver-options → native-comp-driver-optionsAndrea Corallo2021-05-062-9/+9
| | | | | | | | | * src/comp.c (add_driver_options, syms_of_comp): Rename comp-native-driver-options → native-comp-driver-options. * lisp/emacs-lisp/comp.el (native-comp-driver-options) (comp-ctxt, comp-spill-lap-function, comp-final) (comp-run-async-workers): Likewise. * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Likewise.
* * Rename comp-async-query-on-exit → native-comp-async-query-on-exitAndrea Corallo2021-05-061-2/+2
| | | | | | * lisp/emacs-lisp/comp.el (native-comp-async-query-on-exit) (comp-run-async-workers): Rename comp-async-query-on-exit → native-comp-async-query-on-exit.
* * Rename comp-async-report-warnings-errorsAndrea Corallo2021-05-061-2/+2
| | | | | | | * lisp/emacs-lisp/comp.el (native-comp-async-report-warnings-errors) (comp-accept-and-process-async-output): Rename comp-async-report-warnings-errors → native-comp-async-report-warnings-errors.
* * Rename comp-async-env-modifier-form → native-comp-async-env-modifier-formAndrea Corallo2021-05-061-3/+3
| | | | | | * lisp/emacs-lisp/comp.el (native-comp-async-env-modifier-form) (comp-final, comp-run-async-workers): Rename comp-async-env-modifier-form → native-comp-async-env-modifier-form.
* * Rename comp-async-all-done-hook → native-comp-async-all-done-hookAndrea Corallo2021-05-061-3/+3
| | | | | | * lisp/emacs-lisp/comp.el (native-comp-async-all-done-hook) (comp-run-async-workers): Rename comp-async-all-done-hook → native-comp-async-all-done-hook.
* * Rename comp-async-cu-done-functions → native-comp-async-cu-done-functionsAndrea Corallo2021-05-061-2/+2
| | | | | | * lisp/emacs-lisp/comp.el (native-comp-async-cu-done-functions) (comp-run-async-workers): Rename comp-async-cu-done-functions → native-comp-async-cu-done-functions.
* * Rename comp-async-jobs-number → native-comp-async-jobs-numberAndrea Corallo2021-05-061-5/+5
| | | | | | | * lisp/emacs-lisp/comp.el (native-comp-async-jobs-number) (comp-effective-async-max-jobs, native--compile-async) (native-compile-async): Rename comp-async-jobs-number → native-comp-async-jobs-number.
* Rename comp-never-optimize-functions → native-comp-never-optimize-functionsAndrea Corallo2021-05-062-10/+10
| | | | | | | * lisp/emacs-lisp/nadvice.el (advice--add-function): Rename comp-never-optimize-functions → native-comp-never-optimize-functions. * lisp/emacs-lisp/comp.el (native-comp-never-optimize-functions) (comp-subr-trampoline-install, comp-call-optim-form-call): Likewise.
* Rename comp-bootstrap-deny-list → native-comp-bootstrap-deny-listAndrea Corallo2021-05-061-2/+2
| | | | | | * lisp/emacs-lisp/comp.el (native-comp-bootstrap-deny-list) (batch-native-compile): Rename comp-bootstrap-deny-list → native-comp-bootstrap-deny-list.
* * Rename comp-always-compile → native-comp-always-compileAndrea Corallo2021-05-061-2/+2
| | | | | | * lisp/emacs-lisp/comp.el (native-comp-always-compile) (comp-run-async-workers): comp-always-compile → native-comp-always-compile.
* * Rename comp-verbose -> native-comp-verboseAndrea Corallo2021-05-061-6/+6
| | | | | | * lisp/emacs-lisp/comp.el (native-comp-verbose, comp-log) (comp-log-func, comp-final, comp-run-async-workers): Rename comp-verbose -> native-comp-verbose.
* Rename comp-debug -> native-comp-debugAndrea Corallo2021-05-062-6/+6
| | | | | | | | | * src/comp.c (emit_ctxt_code, syms_of_comp): Rename comp-debug -> native-comp-debug. * lisp/emacs-lisp/comp.el (native-comp-debug, comp-ctxt) (comp-spill-lap-function, comp-run-async-workers): Likewise. * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Likewise. * test/src/comp-tests.el (comp-tests-bootstrap): Likewise.
* Rename comp-speed -> native-comp-speedAndrea Corallo2021-05-062-11/+11
| | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename comp-speed -> native-comp-speed. * lisp/emacs-lisp/comp.el (native-comp-speed, comp-ctxt, comp-func, comp-spill-lap-function, comp-trampoline-compile, comp-run-async-workers): Likewise. * src/comp.c (emit_ctxt_code, load_comp_unit, syms_of_comp): Likewise. * test/src/comp-tests.el (comp-tests-tco, comp-tests-fw-prop-1) (comp-tests-check-ret-type-spec, comp-tests-pure): Likewise.
* * Rename comp-limple-mode -> native-comp-limple-modeAndrea Corallo2021-05-061-4/+4
| | | | | | * lisp/emacs-lisp/comp.el (comp-limple-lock-keywords): Doc update. (native-comp-limple-mode, comp-log-to-buffer): Rename comp-limple-mode -> native-comp-limple-mode.
* Tidy file-matching regexps and remove some ineffective backslashesMattias Engdegård2021-05-061-1/+1
| | | | | | | | | * lisp/emacs-lisp/package.el (package--delete-directory): * lisp/net/tramp-cmds.el (tramp-recompile-elpa): Escape dot; replace $ with \'. * lisp/help.el (help-for-help): * lisp/transient.el (transient-font-lock-keywords): Remove useless backslashes.
* Make (setf (map-elt ...)) return the value in the alist/plist casesLars Ingebrigtsen2021-05-061-13/+19
| | | | | | * lisp/emacs-lisp/map.el (map-elt): Return the value in the list case (which can signal a `map-not-inplace' error. (map-elt): Return the value in the list case, too (bug#47572).
* Extend read-multiple-choice to support free-form help descriptionsDaniel Martín2021-05-061-55/+74
| | | | | | | | * lisp/emacs-lisp/rmc.el (read-multiple-choice): Add a new argument to override the default help description in `read-multiple-choice'. Use the `help-char' variable instead of ?\C-h. Also support the `edit' action from `query-replace-map', so that help links can be visited by entering a recursive edit.
* Rename feature `nativecomp' into `native-compile'Andrea Corallo2021-05-054-5/+5
| | | | | | | | | | | | | | | * test/src/comp-tests.el : Rename feature `nativecomp' into `native-compile'. * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun): Likewise. * src/comp.c (syms_of_comp): Likewise. * lisp/startup.el (normal-top-level): Likewise. * lisp/loadup.el: Likewise. * lisp/help.el (help-function-arglist): Likewise. * lisp/emacs-lisp/package.el (package--native-compile-async) (package--delete-directory): Likewise. * lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise. * lisp/emacs-lisp/comp.el (comp-ensure-native-compiler): Likewise. * lisp/emacs-lisp/advice.el (ad-add-advice): Likewise.
* * Do not try to load unexistent eln file if async compilation was skippedAndrea Corallo2021-05-041-5/+8
| | | | | * lisp/emacs-lisp/comp.el (comp-run-async-workers): Don't try to load if the eln file was not produced.
* Merge from origin/emacs-27Glenn Morris2021-05-042-19/+17
|\ | | | | | | | | | | | | 101a049f55 Improve doc string of 'tab-width'. 43c154404e * lisp/emacs-lisp/elp.el: Doc fixes. 1984213f62 * lisp/emacs-lisp/pp.el: Doc fixes. 6486c9dc73 * admin/make-tarball.txt: Note to update more files on web...
| * * lisp/emacs-lisp/elp.el: Doc fixes.Stefan Kangas2021-04-291-16/+14
| |
| * * lisp/emacs-lisp/pp.el: Doc fixes.Stefan Kangas2021-04-291-3/+3
| |
* | Don't use pdumper-stats with unexecNikolay Kudryavtsev2021-05-021-1/+2
| | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-refresh-preloaded): Check if pdumper-stats is bound before using it.
* | Don't signal scan-error in interactive sexp-based commandsMattias Engdegård2021-04-301-115/+131
| | | | | | | | | | | | | | | | | | This takes care of unfinished business from df0f32f04850 (bug#43489). * lisp/emacs-lisp/lisp.el (end-of-defun, mark-defun): * lisp/reposition.el (reposition-window): * lisp/simple.el (transpose-sexps): Convert nasty-looking scan-error into a human-readable message.
* | * Improve `comp-normalize-valset' reproducibility (bug#48021)Andrea Corallo2021-04-291-7/+12
| | | | | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset): Make it more reproducible.
* | * lisp/emacs-lisp/shortdoc.el: Doc fixes.Stefan Kangas2021-04-291-5/+9
| |
* | Doc fixes in avl-tree.elEli Zaretskii2021-04-281-27/+24
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/avl-tree.el (avl-tree--root) (avl-tree--dir-to-sign, avl-tree--sign-to-dir) (avl-tree--del-balance, avl-tree--enter-balance) (avl-tree--do-copy, avl-tree--stack-repopulate, avl-tree-empty) (avl-tree-delete, avl-tree-member, avl-tree-member-p) (avl-tree-map, avl-tree-mapc, avl-tree-mapf, avl-tree-mapcar) (avl-tree-copy, avl-tree-clear, avl-tree-stack) (avl-tree-stack-first): Fix doc strings to be less verbose and to have the first line a complete sentence.
* | * lisp/emacs-lisp/avl-tree.el: Minor doc fixes.Stefan Kangas2021-04-281-11/+11
| |
* | Have `comp-cstr-intersection-no-mem' intersect pos neg value setsAndrea Corallo2021-04-271-1/+3
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr-intersection-no-mem): intersect pos and neg value sets * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-typespec-tests-alist): Add two tests and fix some test number.
* | ; * lisp/emacs-lisp/comp.el: Fix typos. Add LocalWords.Stefan Kangas2021-04-271-21/+24
| |