Commit graph

8087 commits

Author SHA1 Message Date
Lars Ingebrigtsen
4d866fc0f5 Interpret a "" value of EMACS_TEST_VERBOSE as "off"
* 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).
2022-01-21 12:32:10 +01:00
Lars Ingebrigtsen
5561d5de56 Make the edebug-all-defs user option work more reliably
* 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).
2022-01-21 12:26:36 +01:00
Lars Ingebrigtsen
1e54833e8a Update multisession variables when editing the values
* lisp/emacs-lisp/multisession.el (multisession-edit-value):
Update multisession variables when editing the values (bug#53361).
2022-01-21 11:20:56 +01:00
Thuna
172c055745 Fix tabulated-list-widen-current-column widening wrong column
* 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
2022-01-20 15:22:22 +01:00
Andrea Corallo
9396b7d0b4 Suspend temp .elc production when native compiling till when necessary
* 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.
2022-01-19 22:04:14 +01:00
Andrea Corallo
6a79de530f * Move some code in in `byte-write-target-file'.
* lisp/emacs-lisp/bytecomp.el (byte-write-target-file): New function
spilling code from `byte-compile-file'.
2022-01-19 21:57:41 +01:00
Stefan Monnier
ea1e5c97e3 autoload.el: Fix corner case and avoid encoding issues
* 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.
2022-01-18 16:40:32 -05:00
Lars Ingebrigtsen
39d4e1ca21 Move the Gnus range functions to a new range.el file
* 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):
2022-01-17 15:47:50 +01:00
Lars Ingebrigtsen
f43b8f3831 Don't bug out on improper lists in pp-emacs-lisp-code
* lisp/emacs-lisp/pp.el (pp--format-list): Don't bug out on
improper lists (bug#52917).
2022-01-15 10:40:39 +01:00
Stefan Monnier
d29291d665 (macroexp--expand-all): Fix bug#53227 and bug#46636
* lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Don't mis-expand
invalid funcalls.
2022-01-14 12:26:30 -05:00
Lars Ingebrigtsen
19566fb51a Add a `shortdoc' convenience alias
* lisp/emacs-lisp/shortdoc.el (shortdoc): Add a convenience alias
(bug#52968).
2022-01-14 10:51:15 +01:00
Stefan Kangas
b9fecb0dae Merge from origin/emacs-28
34ca4ff9a5 Fix Edebug specification for inline functions (Bug#53068).
3c06c37a8b Remove mention of removed `gnus-treat-play-sounds' variabl...
2022-01-14 06:30:23 +01:00
Stefan Kangas
53dba32022 Prefer defvar-keymap to easy-mmode-defmap
* 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.
2022-01-13 23:24:25 +01:00
Philipp Stephani
34ca4ff9a5 Fix Edebug specification for inline functions (Bug#53068).
* lisp/emacs-lisp/inline.el (inline-quote): Fix Edebug specification.

* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-inline): New unit
test.
2022-01-13 13:52:40 +01:00
Lars Ingebrigtsen
9c31be6dc3 Make ert explainers work on function aliases
* lisp/emacs-lisp/ert.el: New function.
(ert--expand-should-1): Use it (bug#53178).
2022-01-13 09:49:19 +01:00
Mattias Engdegård
22ddd2ba13 Revert "Fix closure-conversion of shadowed captured lambda-lifted vars"
This reverts commit 3ec8c8b3ae.

It was committed to a stable branch without prior discussion;
see bug#53071.
2022-01-12 20:23:09 +01:00
Mattias Engdegård
3ec8c8b3ae Fix closure-conversion of shadowed captured lambda-lifted vars
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 45252ad8f9)
2022-01-12 16:51:01 +01:00
Alan Mackenzie
18dac47255 Remove the filename argument from the command line after an ELC+ELN build
This fixes bug #53164.  Without this fix, bootstrap-emacs loads the source
file uselessly into a buffer after completing the compilation.
2022-01-11 18:29:07 +00:00
Stefan Monnier
73b15f45f9 Merge remote-tracking branch 'origin/emacs-28' into trunk 2022-01-10 22:34:55 -05:00
Eli Zaretskii
99a9b545f0 Revert "Remove the filename argument from the command line after an ELC+ELN build"
This reverts commit ffc047c896.

Please don't install anything non-trivial on the release branch
without asking first.
2022-01-10 20:02:39 +02:00
Alan Mackenzie
ffc047c896 Remove the filename argument from the command line after an ELC+ELN build
This fixes bug #53164.  Without this fix, bootstrap-emacs loads the source
file uselessly into a buffer after completing the compilation.
2022-01-10 17:05:41 +00:00
Ivan Sokolov
4509095d79 Add doc-string indices to easy-mmode-{defmap,defsyntax}
* lisp/emacs-lisp/easy-mmode.el (easy-mmode-defmap)
(easy-mmode-defsyntax): Declare third argument as doc-string.
(Bug#52978)
2022-01-09 16:37:02 +01:00
Eli Zaretskii
e28849eb02 Revert "Fix alignment on font size change in tabulated-list-mode"
This reverts commit 2767c89db7.

That change caused a regression in a much more important use
case, see bug#53133.
2022-01-09 12:38:26 +02:00
Eli Zaretskii
4c724af1e3 ; * lisp/emacs-lisp/package.el (package-native-compile): Fix doc wording. 2022-01-09 10:25:36 +02:00
Stefan Kangas
3984ea8553 Merge from origin/emacs-28
30f1bdb41f Clarify docstring of package-native-compile
c54fda643d Fix Subject "simplification" in Rmail
2022-01-09 06:30:18 +01:00
Stefan Kangas
30f1bdb41f Clarify docstring of package-native-compile
* lisp/emacs-lisp/package.el (package-native-compile): Clarify
docstring.
2022-01-09 03:18:38 +01:00
Stefan Monnier
61f8f7f68f cl-generic.el: Fix bug#46722
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.
2022-01-05 14:28:37 -05:00
Stefan Kangas
d763c12796 Merge from origin/emacs-28
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
2022-01-05 06:30:39 +01:00
Philipp Stephani
c0cfbca311 * lisp/emacs-lisp/checkdoc.el (bytecomp): Add missing require 2022-01-05 01:41:46 +01:00
Lars Ingebrigtsen
0d315102fe Improve pp-emacs-lisp-code for #'
* lisp/emacs-lisp/pp.el (pp--insert-lisp): Format (function ...)
as #'.
2022-01-04 15:51:04 +01:00
Eli Zaretskii
823b6b8d26 ; Add 2022 to copyright years. 2022-01-01 07:07:15 -05:00
Eli Zaretskii
dcd76bd48d Merge from origin/emacs-28
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
2022-01-01 07:03:03 -05:00
Eli Zaretskii
19dcb237b5 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
Stefan Monnier
87f7412418 * lisp/emacs-lisp/package.el (package-get-version): Add fallback 2021-12-31 00:03:35 -05:00
Stefan Monnier
59732a83c8 Don't store docstrings of preloaded .el files in etc/DOC
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`.
2021-12-30 23:17:45 -05:00
Philipp Stephani
d0974e294d * lisp/emacs-lisp/ert.el (ert-select-tests): Document new error. 2021-12-30 17:59:07 +01:00
Philipp Stephani
097452efbc * lisp/emacs-lisp/ert.el (ert-select-tests): Simplify nested switch 2021-12-30 17:19:31 +01:00
Philipp Stephani
f6da1eed74 Properly report errors about unbound ERT test symbols.
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.
2021-12-30 17:06:09 +01:00
Philipp Stephani
94891dd225 ; * lisp/emacs-lisp/ert.el: Update reference to 'cl-assert' 2021-12-30 16:23:48 +01:00
Andrea Corallo
e7699bf290 * Fix native comp for non trivial function names (bug#52833)
* lisp/emacs-lisp/comp.el (comp-c-func-name): Fix native compilation
for functions with function names containing non trivial
characters (bug#52833).
2021-12-28 15:59:32 +01:00
Stefan Kangas
fb9b7b70f5 Fix read-multiple-choice tests
* 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.
2021-12-28 00:09:08 +01:00
Stefan Kangas
e2a7e5f409 read-multiple-choice: Improve key formatting
* 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.
2021-12-27 20:35:00 +01:00
Stefan Monnier
d65534d254 * lisp/emacs-list/eieio-compat.el: Really move to obsolete 2021-12-27 01:57:42 -05:00
Stefan Kangas
40dcf9c2ab read-multiple-choice: Display "SPC" instead of " "
* 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.
2021-12-26 17:05:39 +01:00
Stefan Kangas
1e7786437d read-multiple-choice: Add optional argument show-help
* 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.
2021-12-26 17:03:53 +01:00
Stefan Kangas
787030b021 read-multiple-choice: Add face when key not in name string
* 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.
2021-12-26 17:03:36 +01:00
Stefan Kangas
68f15e815e Factor out new function rmc--add-key-description
* 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.
2021-12-26 15:47:16 +01:00
Eli Zaretskii
97218c311b ; Fix last change: use 'utf-8-emacs-unix' encoding. 2021-12-26 10:20:05 +02:00
Eli Zaretskii
9e45929d7c Minor improvements in multisession.el
* 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.
2021-12-26 10:16:40 +02:00
Lars Ingebrigtsen
6def36f216 Use the new `permission-denied' error to catch multisession errors
* lisp/emacs-lisp/multisession.el (multisession--read-file-value):
Use the new `permission-denied' error to catch file errors on Windows.
2021-12-21 05:23:11 +01:00