summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
* Interpret a "" value of EMACS_TEST_VERBOSE as "off"Lars Ingebrigtsen2022-01-211-2/+4
| | | | | | * doc/misc/ert.texi (Running Tests in Batch Mode): Adjust doc. * lisp/emacs-lisp/ert.el (ert-run-tests-batch): Allow overriding the EMACS_TEST_VERBOSE variable by setting it to "" (bug#53313).
* Make the edebug-all-defs user option work more reliablyLars Ingebrigtsen2022-01-211-1/+5
| | | | | | * lisp/emacs-lisp/edebug.el (edebug-all-defs): This user option has no effect unless edebug is loaded (because that loads the advice needed for the commands in question) (bug#53331).
* Update multisession variables when editing the valuesLars Ingebrigtsen2022-01-211-4/+10
| | | | | * lisp/emacs-lisp/multisession.el (multisession-edit-value): Update multisession variables when editing the values (bug#53361).
* Fix tabulated-list-widen-current-column widening wrong columnThuna2022-01-201-3/+9
| | | | | | | * tabulated-list.el (tabulated-list-widen-current-column): Account for the padding and the content width when calculating column width (bug#53375). Copyright-paperwork-exempt: yes
* Suspend temp .elc production when native compiling till when necessaryAndrea Corallo2022-01-192-9/+16
| | | | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-to-native-output-buffer-file): Rename from `byte-to-native-output-file'. (byte-write-target-file): Update. (byte-compile-file): Write the temporary .elc only when not native compiling. (byte-compile-file): Kill the .elc buffer only when not native compiling. * lisp/emacs-lisp/comp.el (batch-byte+native-compile): Instead of just renaming the temporary .elc make use of `byte-write-target-file' to write it down and kill the temporary buffer.
* * Move some code in in `byte-write-target-file'.Andrea Corallo2022-01-191-32/+37
| | | | | * lisp/emacs-lisp/bytecomp.el (byte-write-target-file): New function spilling code from `byte-compile-file'.
* autoload.el: Fix corner case and avoid encoding issuesStefan Monnier2022-01-181-2/+2
| | | | | | * lisp/emacs-lisp/autoload.el (autoload-print-form): Don't burp when autoloading a `cl-defmethod`. (autoload-rubric): Support non-UTF-8 chars and enforce Unix EOLs.
* Move the Gnus range functions to a new range.el fileLars Ingebrigtsen2022-01-171-0/+467
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/range.el: New file. * lisp/gnus/gnus-agent.el (range): (gnus-agent-synchronize-group-flags): (gnus-agent-possibly-alter-active): (gnus-agent-fetch-headers): (gnus-agent-read-agentview): (gnus-agent-fetch-group-1): (gnus-agent-read-p): (gnus-agent-expire-group-1): (gnus-agent-retrieve-headers): Adjust callers. * lisp/gnus/gnus-art.el (range): (gnus-article-describe-bindings): * lisp/gnus/gnus-cloud.el (range): (gnus-cloud-available-chunks): * lisp/gnus/gnus-draft.el (gnus-group-send-queue): * lisp/gnus/gnus-group.el (range): (gnus-group-line-format-alist): (gnus-number-of-unseen-articles-in-group): (gnus-group-update-eval-form): (gnus-group-read-group): (gnus-group-delete-articles): (gnus-group-catchup): (gnus-group-expire-articles-1): (gnus-add-marked-articles): * lisp/gnus/gnus-int.el (gnus-request-marks): * lisp/gnus/gnus-kill.el (gnus-apply-kill-file-internal): * lisp/gnus/gnus-range.el (gnus-range-difference) (gnus-sorted-range-intersection, gnus-uncompress-range) (gnus-add-to-range, gnus-remove-from-range) (gnus-member-of-range, gnus-list-range-intersection) (gnus-list-range-difference, gnus-range-length, gnus-range-add) (gnus-range-map): Make into obsolete aliases. * lisp/gnus/gnus-start.el (gnus-make-articles-unread): (gnus-convert-old-ticks): (gnus-read-old-newsrc-el-file): * lisp/gnus/gnus-sum.el (gnus-select-newsgroup): (gnus-articles-to-read): (gnus-articles-to-read): (gnus-killed-articles): (gnus-adjust-marked-articles): (gnus-update-marks): (gnus-update-marks): (gnus-compute-read-articles): (gnus-list-of-read-articles): (gnus-summary-update-info): (gnus-summary-move-article): (gnus-summary-expire-articles): (gnus-update-read-articles): (gnus-summary-insert-old-articles): (gnus-summary-insert-old-articles): (gnus-summary-insert-old-articles): * lisp/gnus/mail-source.el (gnus-range): (gnus-compress-sequence): * lisp/gnus/nnheader.el (range): (gnus-range-add): (nnheader-update-marks-actions): * lisp/gnus/nnimap.el (nnimap-update-info): (nnimap-update-info): (nnimap-update-info): (nnimap-update-qresync-info): (nnimap-update-qresync-info): (nnimap-update-qresync-info): (nnimap-parse-copied-articles): * lisp/gnus/nnmaildir.el (nnmaildir-request-update-info): (nnmaildir-request-update-info): (nnmaildir-request-expire-articles): (nnmaildir-request-expire-articles): (nnmaildir-request-set-mark): * lisp/gnus/nnmairix.el (nnmairix-request-set-mark): * lisp/gnus/nnmbox.el (nnmbox-record-active-article): (nnmbox-record-deleted-article): * lisp/gnus/nnml.el (nnml-request-compact-group): * lisp/gnus/nnvirtual.el (nnvirtual-request-expire-articles): * lisp/gnus/nnselect.el (numbers-by-group): (nnselect-request-update-info): (nnselect-push-info):
* Don't bug out on improper lists in pp-emacs-lisp-codeLars Ingebrigtsen2022-01-151-1/+4
| | | | | * lisp/emacs-lisp/pp.el (pp--format-list): Don't bug out on improper lists (bug#52917).
* (macroexp--expand-all): Fix bug#53227 and bug#46636Stefan Monnier2022-01-141-2/+6
| | | | | * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Don't mis-expand invalid funcalls.
* Add a `shortdoc' convenience aliasLars Ingebrigtsen2022-01-141-0/+3
| | | | | * lisp/emacs-lisp/shortdoc.el (shortdoc): Add a convenience alias (bug#52968).
* Merge from origin/emacs-28Stefan Kangas2022-01-141-1/+1
|\ | | | | | | | | 34ca4ff9a5 Fix Edebug specification for inline functions (Bug#53068). 3c06c37a8b Remove mention of removed `gnus-treat-play-sounds' variabl...
| * Fix Edebug specification for inline functions (Bug#53068).Philipp Stephani2022-01-131-1/+1
| | | | | | | | | | | | | | * lisp/emacs-lisp/inline.el (inline-quote): Fix Edebug specification. * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-inline): New unit test.
| * Revert "Fix closure-conversion of shadowed captured lambda-lifted vars"Mattias Engdegård2022-01-121-25/+6
| | | | | | | | | | | | | | This reverts commit 3ec8c8b3ae2359ceb8135b672e86526969c16b7e. It was committed to a stable branch without prior discussion; see bug#53071.
| * Fix closure-conversion of shadowed captured lambda-lifted varsMattias Engdegård2022-01-121-6/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lambda-lifted variables (ones passed explicitly to lambda-lifted functions) that are also captured in an outer closure and shadowed were renamed incorrectly (bug#51982). Reported by Paul Pogonyshev. * lisp/emacs-lisp/cconv.el (cconv--lifted-arg): New. (cconv-convert): Provide correct definiens for the closed-over variable. * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): * test/lisp/emacs-lisp/cconv-tests.el (cconv-tests--intern-all) (cconv-closure-convert-remap-var): Add tests. (cherry picked from commit 45252ad8f932c98a373ef0ab7f3363a3e27ccbe4)
* | Prefer defvar-keymap to easy-mmode-defmapStefan Kangas2022-01-131-1/+5
| | | | | | | | | | | | | | | | * lisp/progmodes/gud.el (gud-minibuffer-local-map): * lisp/vc/pcvs-info.el (cvs-status-map): Use defvar-keymap. * lisp/emacs-lisp/easy-mmode.el (easy-mmode-defmap): Document as deprecated.
* | Make ert explainers work on function aliasesLars Ingebrigtsen2022-01-131-6/+11
| | | | | | | | | | * lisp/emacs-lisp/ert.el: New function. (ert--expand-should-1): Use it (bug#53178).
* | Remove the filename argument from the command line after an ELC+ELN buildAlan Mackenzie2022-01-111-1/+2
| | | | | | | | | | This fixes bug #53164. Without this fix, bootstrap-emacs loads the source file uselessly into a buffer after completing the compilation.
* | Merge remote-tracking branch 'origin/emacs-28' into trunkStefan Monnier2022-01-102-6/+5
|\|
| * Revert "Remove the filename argument from the command line after an ELC+ELN ↵Eli Zaretskii2022-01-101-2/+1
| | | | | | | | | | | | | | | | | | build" This reverts commit ffc047c896413b6e00032518fc934f08768671fa. Please don't install anything non-trivial on the release branch without asking first.
| * Remove the filename argument from the command line after an ELC+ELN buildAlan Mackenzie2022-01-101-1/+2
| | | | | | | | | | This fixes bug #53164. Without this fix, bootstrap-emacs loads the source file uselessly into a buffer after completing the compilation.
| * Revert "Fix alignment on font size change in tabulated-list-mode"Eli Zaretskii2022-01-091-2/+1
| | | | | | | | | | | | | | This reverts commit 2767c89db729a6106146d0aeff76678c64d4fc53. That change caused a regression in a much more important use case, see bug#53133.
| * ; * lisp/emacs-lisp/package.el (package-native-compile): Fix doc wording.Eli Zaretskii2022-01-091-4/+4
| |
* | Add doc-string indices to easy-mmode-{defmap,defsyntax}Ivan Sokolov2022-01-091-2/+2
| | | | | | | | | | | | * lisp/emacs-lisp/easy-mmode.el (easy-mmode-defmap) (easy-mmode-defsyntax): Declare third argument as doc-string. (Bug#52978)
* | Merge from origin/emacs-28Stefan Kangas2022-01-091-1/+7
|\| | | | | | | | | 30f1bdb41f Clarify docstring of package-native-compile c54fda643d Fix Subject "simplification" in Rmail
| * Clarify docstring of package-native-compileStefan Kangas2022-01-091-1/+7
| | | | | | | | | | * lisp/emacs-lisp/package.el (package-native-compile): Clarify docstring.
* | cl-generic.el: Fix bug#46722Stefan Monnier2022-01-051-1/+3
| | | | | | | | | | | | | | Fix longstanding bug due to unexpected interference via side-effect. * lisp/emacs-lisp/cl-generic.el (cl--generic-get-dispatcher): Copy the `dispatch` arg before storing it into the hash-table.
* | Merge from origin/emacs-28Stefan Kangas2022-01-051-0/+1
|\| | | | | | | | | | | | | | | e7aa3ece52 Fix vc-git with old Git over Tramp and cygwin-mount.el c0cfbca311 * lisp/emacs-lisp/checkdoc.el (bytecomp): Add missing require # Conflicts: # etc/NEWS
| * * lisp/emacs-lisp/checkdoc.el (bytecomp): Add missing requirePhilipp Stephani2022-01-051-0/+1
| |
* | Improve pp-emacs-lisp-code for #'Lars Ingebrigtsen2022-01-041-2/+4
| | | | | | | | | | * lisp/emacs-lisp/pp.el (pp--insert-lisp): Format (function ...) as #'.
* | ; Add 2022 to copyright years.Eli Zaretskii2022-01-011-1/+1
| |
* | Merge from origin/emacs-28Eli Zaretskii2022-01-0192-92/+92
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 836be7a112 ; * etc/refcards/ru-refcard.tex: Update Copyright year. 86cbc6ee4a * lisp/net/tramp-sh.el: Adapt copyright year ebe8772f65 ; Minor fixes related to copyright years 23c1ee6989 ; * test/manual/etags/ETAGS.good_N: Adjust to copyright ye... 8d3fc7ec89 * src/xfaces.c (face_for_font): Make 'hash' be uintptr_t. 19dcb237b5 ; Add 2022 to copyright years. # Conflicts: # etc/NEWS # etc/refcards/ru-refcard.tex # lib/cdefs.h # lisp/erc/erc-dcc.el # lisp/erc/erc-imenu.el # lisp/erc/erc-replace.el # lisp/image-dired.el # lisp/progmodes/xref.el # m4/alloca.m4 # m4/byteswap.m4 # m4/errno_h.m4 # m4/getopt.m4 # m4/gnulib-common.m4 # m4/inttypes.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/sys_socket_h.m4
| * ; Add 2022 to copyright years.Eli Zaretskii2022-01-0193-93/+93
| |
* | * lisp/emacs-lisp/package.el (package-get-version): Add fallbackStefan Monnier2021-12-311-1/+4
| |
* | Don't store docstrings of preloaded .el files in etc/DOCStefan Monnier2021-12-301-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the location of those files changes between build time and installation time, this requires to tweak the file name used in those (#$ . NNN) references during the dump so they don't hardcode the build directory. We do it in the same way as was already done for those same file names in `load-history`, except we convert them back to absolute file names more lazily (i.e. when fetching the actual docstring rather than at startup), which requires remembering the `lisp-dir` computed at startup in the new `lisp-directory` variable. * src/Makefile.in ($(etc)/DOC): Don't scan Lisp files any more. * src/lread.c (Fload): Use relative file names for `load-file-name` when preloading for the dump, like we already did for `current-load-list`. (read_list): Don't zero-out dynamic docstring references during the preload since they won't be filled later by Snarf-documentation any more. (read1): Remove the hash-hack for doc references that were zeroed. * lisp/startup.el (lisp-directory): New variable. (command-line): Set it. * src/doc.c (get_doc_string): Use `lisp-directory` for dynamic docstring references using relative file names. (syms_of_doc): Add `Qlisp_directory`. * lib-src/make-docfile.c (scan_file): Don't handle `.el` or `.elc` files any more. (IS_SLASH): Remove macro, not used any more. (skip_white, read_lisp_symbol, search_lisp_doc_at_eol) (scan_lisp_file): Remove functions, not used any more. * doc/lispref/loading.texi (Library Search): Mention `lisp-directory`.
* | * lisp/emacs-lisp/ert.el (ert-select-tests): Document new error.Philipp Stephani2021-12-301-1/+2
| |
* | * lisp/emacs-lisp/ert.el (ert-select-tests): Simplify nested switchPhilipp Stephani2021-12-301-46/+36
| |
* | Properly report errors about unbound ERT test symbols.Philipp Stephani2021-12-301-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Assertions should only be used to check internal consistency within a package, not to check arguments passed by callers. Instead, define and use a new error symbol. * lisp/emacs-lisp/ert.el (ert-test-unbound): New error symbol. (ert-select-tests): Use it. * test/lisp/emacs-lisp/ert-tests.el (ert-test-select-undefined): New unit test. * etc/NEWS: Document new behavior.
* | ; * lisp/emacs-lisp/ert.el: Update reference to 'cl-assert'Philipp Stephani2021-12-301-1/+1
| |
* | * Fix native comp for non trivial function names (bug#52833)Andrea Corallo2021-12-281-1/+3
| | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-c-func-name): Fix native compilation for functions with function names containing non trivial characters (bug#52833).
* | Fix read-multiple-choice testsStefan Kangas2021-12-281-1/+1
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/rmc.el (rmc--add-key-description): Fix typo. * test/lisp/emacs-lisp/rmc-tests.el (test-rmc--add-key-description) (test-rmc--add-key-description/with-attributes) (test-rmc--add-key-description/non-graphical-display): Fix tests.
* | read-multiple-choice: Improve key formattingStefan Kangas2021-12-271-2/+2
| | | | | | | | | | | | * lisp/emacs-lisp/rmc.el (rmc--add-key-description): Improve formatting of key missing in the description. Use face help-key-name on terminals that can't display underline.
* | * lisp/emacs-list/eieio-compat.el: Really move to obsoleteStefan Monnier2021-12-271-278/+0
| |
* | read-multiple-choice: Display "SPC" instead of " "Stefan Kangas2021-12-261-11/+13
| | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/rmc.el (rmc--add-key-description): Improve display of the keys TAB, RET, SPC, DEL, and ESC. This fixes a bug where " " was highlighted in the description in a confusing way. * test/lisp/emacs-lisp/rmc-tests.el (test-rmc--add-key-description) (test-rmc--add-key-description/with-attributes): Update tests for the above change.
* | read-multiple-choice: Add optional argument show-helpStefan Kangas2021-12-261-54/+68
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/rmc.el (rmc--show-help): Factor out new function from read-multiple-choice. (read-multiple-choice): Add new optional argument show-help. * doc/lispref/commands.texi (Reading One Event): Document above new optional argument.
* | read-multiple-choice: Add face when key not in name stringStefan Kangas2021-12-261-3/+10
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/rmc.el (rmc--add-key-description): Add face property also when key is not in the name string. * test/lisp/emacs-lisp/rmc-tests.el (test-rmc--add-key-description/with-attributes) (test-rmc--add-key-description/non-graphical-display): Update tests.
* | Factor out new function rmc--add-key-descriptionStefan Kangas2021-12-261-32/+30
| | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/rmc.el (rmc--add-key-description): Factor out new function from... (read-multiple-choice): ...here. * test/lisp/emacs-lisp/rmc-tests.el (test-rmc--add-key-description) (test-rmc--add-key-description/with-attributes) (test-rmc--add-key-description/non-graphical-display): New tests.
* | ; Fix last change: use 'utf-8-emacs-unix' encoding.Eli Zaretskii2021-12-261-3/+3
| |
* | Minor improvements in multisession.elEli Zaretskii2021-12-261-6/+9
| | | | | | | | | | | | | | * lisp/emacs-lisp/multisession.el (multisession--read-file-value): Handle 'file-missing' error when reading values from files. (multisession--backend-values, multisession--backend-set-value) (multisession--read-file-value): Use 'utf-8-emacs' encoding.
* | Use the new `permission-denied' error to catch multisession errorsLars Ingebrigtsen2021-12-211-1/+1
| | | | | | | | | | * lisp/emacs-lisp/multisession.el (multisession--read-file-value): Use the new `permission-denied' error to catch file errors on Windows.