summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
...
* | ; advice--interactive-form: Fix a typo introduced in recent changeŠtěpán Němec2022-08-141-1/+1
| | | | | | | | * lisp/emacs-lisp/nadvice.el (advice--interactive-form): Fix a typo.
* | nadvice.el: Avoid exponential blow up in interactive-form recursionStefan Monnier2022-08-131-13/+13
| | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/nadvice.el (advice--interactive-form): Sink the call to `commandp` into the autoloaded function case since it's redundant in the other branch. (advice--make-interactive-form): Take just the interactive forms rather than the actual functions as arguments. (oclosure-interactive-form): Use `advice--interactive-form` rather than `commandp` since we'd call `advice--interactive-form` afterwards anyway.
* | Allow EXCLUDED-FILES in loaddefs-generate to be relativeLars Ingebrigtsen2022-08-131-0/+5
| | | | | | | | | | * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Allow the excluded files to be relative (bug#57144).
* | Hide local variable section in emacs-news-modesStefan Kangas2022-08-121-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/textmodes/emacs-authors-mode.el (emacs-authors-mode--hide-local-variables): Move from here... * lisp/emacs-lisp/subr-x.el (emacs-etc--hide-local-variables): ...to here. * lisp/textmodes/emacs-authors-mode.el (subr-x): Require. (emacs-authors-mode): Use above renamed function. * lisp/textmodes/emacs-news-mode.el (subr-x): Require. (emacs-news--mode-common): Call 'emacs-etc--hide-local-variables' to hide local variables section.
* | Don't update loaddefs.el timestamps uselessly in loaddefs-generateLars Ingebrigtsen2022-08-121-4/+8
| | | | | | | | | | * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Don't re-write the loaddefs.el file when there's no reason to.
* | Further seq-uniq speed-ups for listsLars Ingebrigtsen2022-08-121-5/+15
| | | | | | | | | | * lisp/emacs-lisp/seq.el (seq-uniq): Speed up more for long lists (bug#57079).
* | Use help-key-binding face in package list helpStefan Kangas2022-08-121-1/+1
| | | | | | | | | | * lisp/emacs-lisp/package.el (package--prettify-quick-help-key): Use help-key-binding face.
* | ; Fix documentation of 'loaddefs-generate' (bug#57144)Eli Zaretskii2022-08-121-6/+12
| | | | | | | | * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Doc fix.
* | Make ad-version variable obsoleteStefan Kangas2022-08-111-2/+3
| | | | | | | | | | * lisp/emacs-lisp/advice.el (ad-version): Make obsolete in favor of emacs-version. It has not been bumped since 1994.
* | Don't show status message in Helper-describe-bindingsStefan Kangas2022-08-111-1/+0
| | | | | | | | | | * lisp/emacs-lisp/helper.el (Helper-describe-bindings): Don't show status message.
* | ; * lisp/emacs-lisp/subr-x.el (string-pad): Optimise.Mattias Engdegård2022-08-101-7/+3
| |
* | Extend LAP optimisations to more operationsMattias Engdegård2022-08-101-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend the set of eligible opcodes for certain peephole transformations, which then provide further optimisation opportunities. * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Optimise empty save-current-buffer in the same way as we already do for save-excursion and save-restriction. This is safe because (save-current-buffer) is a no-op. (byte-compile-side-effect-and-error-free-ops): Add list3, list4 and listN. These were all apparent oversights as list1 and list2 were already included. (byte-after-unbind-ops): Add stack-ref, stack-set, discard, list3, list4 and listN. Stack manipulation is safe because unbind cannot read or modify stack entries.
* | Delete dead code in checkdoc.elStefan Kangas2022-08-101-20/+1
| | | | | | | | | | * lisp/emacs-lisp/checkdoc.el: Delete code commented out since 1997.
* | Autoload string-blank-pStefan Kangas2022-08-091-0/+1
| | | | | | | | | | | | * lisp/eshell/em-hist.el (subr-x): * lisp/net/eudc.el (subr-x): Don't require. * lisp/emacs-lisp/subr-x.el (string-blank-p): Autoload.
* | Further lisp-current-defun-name tweaksLars Ingebrigtsen2022-08-091-1/+1
| | | | | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-current-defun-name): Tweak so that cl-defmethod and friends work again.
* | Add a faster seq-uniq for listsLars Ingebrigtsen2022-08-091-0/+17
| | | | | | | | | | * lisp/emacs-lisp/seq.el (seq-uniq): Add a faster method for lists (bug#57079).
* | Make the loaddefs.el file slightly shorterLars Ingebrigtsen2022-08-091-18/+28
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--shorten-autoload): New function. (loaddefs-generate--make-autoload): Use it to drop optional nil values from the `autoloads' forms. This makes the loaddefs.el file about 12K shorter.
* | Another lisp-current-defun-name tweakMichael Heerdegen2022-08-091-1/+1
| | | | | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-current-defun-name): Avoid error when edebug spec is the symbol t.
* | Further lisp-current-defun-name tweaksLars Ingebrigtsen2022-08-081-2/+6
| | | | | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-current-defun-name): Further tweaks to finding the symbol being defined (defalias).
* | Allow specifying how args are to be stored in `command-history'Lars Ingebrigtsen2022-08-081-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/functions.texi (Declare Form): Document `interactive-args' * lisp/replace.el (replace-string): Store the correct interactive arguments (bug#45607). * lisp/emacs-lisp/byte-run.el (byte-run--set-interactive-args): New function. (defun-declarations-alist): Use it. * src/callint.c (fix_command): Remove the old hack (which now longer works since interactive specs are byte-compiled) and instead rely on `interactive-args'.
* | Make which-func-mode output less junkLars Ingebrigtsen2022-08-081-18/+46
| | | | | | | | | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-current-defun-name): Use edebug specs to find the name (if they exist), and default to returning the top-level symbol if there isn't a define-like form (bug#49592).
* | ; Fix typosStefan Kangas2022-08-081-1/+1
| |
* | ; * lisp/emacs-lisp/bytecomp.el: indentation fixMattias Engdegård2022-08-071-2/+2
| |
* | Cease emitting negative file offsets for user variablesMattias Engdegård2022-08-071-12/+3
| | | | | | | | | | | | | | | | | | | | 'User variables' were made obsolete in Emacs 24 along with user-variable-p; the sign of the position in (#$ . POS) hasn't mattered since. * lisp/emacs-lisp/bytecomp.el (byte-compile-output-docform): Don't emit negative position when doc string starts with `*`. * src/lread.c (get_lazy_string): Explain.
* | ; * lisp/emacs-lisp/lisp.el (end-of-defun-moves-to-eol): Doc fix.Eli Zaretskii2022-08-061-5/+3
| |
* | time-convert): Deprecate calls without an explicit FORM argStefan Monnier2022-08-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | * lisp/subr.el (time-convert): Deprecate calls without an explicit FORM arg. * doc/lispref/os.texi (Time Conversion): Adjust doc accordingly. * lisp/calendar/time-date.el (days-to-time): * lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time): * lisp/gnus/nnrss.el (nnrss-normalize-date): * lisp/epa-ks.el (epa-ks--parse-buffer): Silence corresponding warnings.
* | Allow newline after def*-form for definition-prefixStefan Kangas2022-08-051-1/+2
| | | | | | | | | | | | | | * lisp/emacs-lisp/loaddefs-gen.el (autoload-ignored-definitions): Add another semantic function. (loaddefs-generate--compute-prefixes): Allow newline after the "(def*" form. (Bug#57000)
* | Add variable end-of-defun-moves-to-eolFilipp Gunbin2022-08-051-1/+10
| | | | | | | | | | * lisp/emacs-lisp/lisp.el (end-of-defun-moves-to-eol): New variable. (end-of-defun): Use it.
* | timer.el: Avoid repeated timersStefan Monnier2022-08-051-29/+39
| | | | | | | | | | | | | | | | | | https://mail.gnu.org/archive/html/emacs-devel/2022-07/msg01127.html points out that end-users can get bitten by this, accidentally calling `timer-activate` on an already activated timer. * lisp/emacs-lisp/timer.el (timer--activate): Signal an error if we try to re-add a timer that's already on the timer-list.
* | bytecomp.el: Update comments referring to `make-docfile`Stefan Monnier2022-08-051-5/+5
| |
* | bytecomp.el: Further simplifications enabled by commit 59732a83c8875cStefan Monnier2022-08-051-3/+0
| | | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-output-docform): Don't insert a \n before the #@ docstrings since make-docfile doesn't scan .elc files any more.
* | Be more lax when picking up prefixes for loaddefsStefan Kangas2022-08-041-1/+1
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--compute-prefixes): Allow tabs and spaces before symbol name, so that "(defvar\tfoo-bar nil)" is properly picked up. Before this change, such a definition would be wrongly picked up as the symbol "nil".
* | Move autoload.el to lisp/obsolete/Lars Ingebrigtsen2022-08-041-909/+0
| |
* | Minor cleanups in autoload.el/loaddefs-gen.elLars Ingebrigtsen2022-08-043-28/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/subr.el (package--builtin-versions): Adjust comments. * lisp/emacs-lisp/loaddefs-gen.el (no-update-autoloads): Moved here from autoload.el. * lisp/emacs-lisp/loaddefs-gen.el: Removed now that it's no longer used. * lisp/emacs-lisp/package.el (package-autoload-ensure-default-file): Don't warn about soon-to-be obsolete functon.
* | Minor checkdoc.el clean upLars Ingebrigtsen2022-08-041-2/+0
| | | | | | | | | | * lisp/emacs-lisp/checkdoc.el (generate-autoload-cookie): This is no longer used, so remove reference.
* | Add define-keymap to autoload-ignored-definitionsLars Ingebrigtsen2022-08-041-1/+1
| | | | | | | | | | * lisp/emacs-lisp/loaddefs-gen.el (autoload-ignored-definitions): Ignore `define-keymap', too (bug#56973).
* | Add define-key-after to autoload-ignored-definitionsStefan Kangas2022-08-041-2/+4
| | | | | | | | | | * lisp/emacs-lisp/loaddefs-gen.el (autoload-ignored-definitions): Add define-key-after and define-ibuffer-sorter.
* | Add more autoload-ignored-definitionsStefan Kangas2022-08-041-1/+2
| | | | | | | | | | * lisp/emacs-lisp/loaddefs-gen.el (autoload-ignored-definitions): Add define-ibuffer-column.
* | Add more autoload-ignored-definitions defsLars Ingebrigtsen2022-08-041-1/+4
| | | | | | | | | | | | * lisp/emacs-lisp/loaddefs-gen.el (autoload-ignored-definitions): Add more definition forms that shouldn't trigger prefix registration (bug#56970).
* | Fix up some prefix registration problems in doc stringsLars Ingebrigtsen2022-08-041-3/+3
| | | | | | | | | | | | | | | | * lisp/uniquify.el (uniquify-buffer-name-style): * lisp/org/ob-core.el (org-src-sha): * lisp/emacs-lisp/cl-macs.el (cl--optimize): * lisp/battery.el (battery-update-functions): Avoid triggering the `register-definition-prefixes' in doc strings (bug#56968).
* | Adjust loaddefs-generate--print-form commentsLars Ingebrigtsen2022-08-041-6/+7
| | | | | | | | | | | | * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--print-form): Adjust doc string and comments now that make-docfile doesn't scan this.
* | Byte-compile the in-tree loaddefs.el filesLars Ingebrigtsen2022-08-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/Makefile.in (all): Add "autoloads", which now otherwise won't be done. ($(lisp)/loaddefs.el): Remove this target, since it's always done, and would then trigger a re-compilation of loaddefs.elc. * lisp/loadup.el: Load loaddefs.elc (if it exists). * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Don't include no-byte-compile cookies in the Emacs build. * src/Makefile.in ($(pdmp)): Depend on loaddefs.elc to ensure that it's built by this point. ($(etc)/DOC): Don't scan loaddefs.el for doc strings, since they are now picked up from the .elc file (bug#53024).
* | Check for mis-quoted #' in doc strings during byte-compileLars Ingebrigtsen2022-08-031-1/+1
| | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-docstring-style-warn): Check for mis-quoted #' in doc strings, too.
* | Fix quoting of #' in some doc stringsLars Ingebrigtsen2022-08-031-1/+1
| | | | | | | | | | | | | | * lisp/org/ox.el (org-export-to-file): * lisp/eshell/esh-arg.el (eshell-concat): * lisp/emacs-lisp/edebug.el (edebug-read-special): * lisp/dired-aux.el (dired-split): Fix quoting of #' in doc strings.
* | Remove some spurious references to XEmacsStefan Kangas2022-08-031-1/+1
| | | | | | | | | | | | * lisp/desktop.el (desktop--emacs-pid-running-p): * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell-lisp-words): Don't mention XEmacs.
* | Avoid cl-cXXXr compat aliasesStefan Kangas2022-08-032-14/+14
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/cl-lib.el (cl-third, cl-fourth): * lisp/emacs-lisp/cl-macs.el (cl--do-&aux, cl--do-arglist) (cl--parse-loop-clause, cl--loop-let, cl--loop-build-ands) (cl--do-proclaim, cl-defstruct): Prefer using cXXXr functions directly, instead of cl-cXXXr prefixed compat aliases.
* | Consider built-in packages to be installedMatt Armstrong2022-08-021-1/+4
| | | | | | | | | | * lisp/emacs-lisp/package.el (package-installed-p): Check for built-in packages before initialization. (bug#56877).
* | Don't disable eldoc when doing edebugLars Ingebrigtsen2022-08-021-1/+0
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/eldoc.el (eldoc-display-message-no-interference-p): Don't disable eldoc when edebugging (bug#56459). There should be no interference in that case, because edebug messaging is done after stepping, and eldoc messaging is done after other movements.
* | Fix the bytecode incompatibility due to the change to 'narrow-to-region'.Gregory Heytings2022-08-012-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/editfns.c (narrow_to_region_internal): New function, which contains the body previously in 'Fnarrow_to_region' but accepts a third argument. (Fnarrow_to_region): Use the new function. Update the docstring. (Fwiden): Update the docstring. * src/lisp.h: Prototype of the new function. * src/xdisp.c (handle_fontified_prop): Use the new function instead of 'Fnarrow_to_region'. * src/process.c (Finternal_default_process_filter): * src/lread.c (readevalloop): Remove the third argument to 'Fnarrow_to_region'. * src/bytecode.c (exec_byte_code): * lisp/emacs-lisp/comp.el (comp-limplify-lap-inst): * lisp/emacs-lisp/bytecomp.el: Restore the statu quo ante. * etc/NEWS: Remove the entry about the new optional argument. * doc/lispref/positions.texi (Narrowing): Update the documentation.
* | Omit some (current-time) callsPaul Eggert2022-08-012-2/+2
| | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/ert.el (ert-write-junit-test-summary-report): * lisp/emacs-lisp/shortdoc.el (file): * lisp/find-lisp.el (find-lisp-find-dired-insert-file): * lisp/progmodes/hideif.el (hide-ifdefs): * lisp/tar-mode.el (tar-subfile-save-buffer): Prefer nil or omitted arg to (current-time) where this is better or more-efficient.