Commit graph

8938 commits

Author SHA1 Message Date
Xi Lu
84888080ee Add more functions to "string" shortdoc
* lisp/emacs-lisp/shortdoc.el: Add 'string-or-null-p',
'char-or-string-p', 'char-uppercase-p'.  (Bug#60279)
2022-12-24 09:55:22 +02:00
Richard Hansen
286c48137f ert-x: Move window selection logic to its own macro
* lisp/emacs-lisp/ert-x.el (ert-with-buffer-selected): New macro to
temporarily display a buffer in a selected window and evaluate a body.
(ert-with-test-buffer-selected): Use the new macro.
* test/lisp/whitespace-tests.el
(ert-test-with-buffer-selected/current)
(ert-test-with-buffer-selected/selected)
(ert-test-with-buffer-selected/nil-buffer)
(ert-test-with-buffer-selected/modification-hooks)
(ert-test-with-buffer-selected/read-only)
(ert-test-with-buffer-selected/return-value): Add tests.
(Bug#60189)
2022-12-24 09:14:23 +02:00
Richard Hansen
823c49cea8 ; ert-x: Simplify `ert-with-test-buffer-selected'
* lisp/emacs-lisp/ert-x.el (ert-with-test-buffer-selected):
Simplify using 'ert-with-test-buffer'.  (Bug#60189)
2022-12-24 09:12:12 +02:00
Andrea Corallo
e59216d3be * Invoke spawed Emacs processes with '-Q' when native compiling (bug#60208)
* lisp/emacs-lisp/comp.el (comp-final): Invoke spawned Emacs with '-Q'.
(comp-run-async-workers): Likewise.
2022-12-21 23:29:33 +01:00
Eli Zaretskii
5a245bc786 Prevent Abort dialogs from async-compiling jobs on Windows
* lisp/emacs-lisp/comp.el (comp-run-async-workers): Disable Abort
dialog popping in the sub-processes that perform async
compilation, by passing w32-disable-abort-dialog=t on their
command line.
2022-12-17 20:35:11 +02:00
Eli Zaretskii
de2239a584 Revert "alist-get testfn argument evaluation correction"
This reverts commit 17d65c99cd.

Please don't install unnecessary improvements on the release
branch.
2022-12-16 19:29:30 +02:00
Eli Zaretskii
856d889f3a Revert "Elide broken but unnecessary if optimisations"
This reverts commit 13aa376e93.

Please don't install anything on the release branch that is
not a clear bugfix for a known bug.
2022-12-16 19:27:33 +02:00
Mattias Engdegård
13aa376e93 Elide broken but unnecessary if optimisations
* lisp/emacs-lisp/byte-opt.el (byte-optimize-if):
Remove explicit clauses purposing to simplify

    (if X nil t) -> (not X)
    (if X t nil) -> (not (not X))

but never did so because of a coding mistake (eq instead of equal),
found by a recently added warning.  They weren't actually needed
thanks to the optimiser's fixpoint iteration: we eventually get the
same results through

    (if X nil t) -> (if (not X) t nil) -> (if (not X) t) -> (not X)
    (if X t nil) -> (if X t) -> (not (not X))
2022-12-16 17:17:23 +01:00
Mattias Engdegård
17d65c99cd alist-get testfn argument evaluation correction
* lisp/emacs-lisp/gv.el (alist-get):
Evaluate TESTFN exactly once (previously up to 3 times).
Reduce the macro-expansion to include a call to either assoc or assq,
not both; this reduces the generated code size in some cases.
2022-12-16 17:17:23 +01:00
Philip Kaludercic
367022f316 Ensure package directories for source packages from checkouts
* lisp/emacs-lisp/package-vc.el (package-vc-install-from-checkout):
Set the :dir entry, since `package-vc--unpack-1' assumes the field is
set, as is the case when invoking `package-vc--unpack'.
2022-12-15 18:31:13 +01:00
Stefan Kangas
a15cd55044 ; Don't quote nil in comments 2022-12-15 02:35:00 +01:00
Mattias Engdegård
2d96a18cd0 ; * lisp/emacs-lisp/shortdoc.el: fix mistakes in previous commit 2022-12-14 14:06:46 +01:00
Mattias Engdegård
0cc199f1a6 Better shortdoc examples
* lisp/emacs-lisp/shortdoc.el
(symbol, comparison): New.
(string, list, number): Remove or change examples that do not have
well-defined results, such as `eq` on strings or floats.
Edit other examples for better illustrating each respective operation.
2022-12-14 12:20:46 +01:00
Mattias Engdegård
931d97bf56 Shortdoc: read and evaluate strings after :eval
* lisp/emacs-lisp/shortdoc.el (shortdoc--display-function):
If the parameter of :eval is a string then read, evaluate and print
the result.  This was always the intention and is documented behaviour.
2022-12-14 12:16:28 +01:00
Stefan Kangas
def51dd645 ; Fix typos 2022-12-13 18:44:41 +01:00
Stefan Kangas
3e349ee119 Fix error message when installing non-existent package
* lisp/emacs-lisp/package.el (package-compute-transaction): Don't add
trailing dash to package name in non-existent package
error.  (Bug#59923)
2022-12-11 19:02:44 +01:00
Mattias Engdegård
87475f4af2 Fix pcase rx patterns using rx-let bindings (bug#59814)
Reported by Daniel Pittman.

* lisp/emacs-lisp/rx.el (rx): Move binding of rx--local-definitions...
(rx--to-expr): ...here.
* test/lisp/emacs-lisp/rx-tests.el (rx-let-pcase): New test.
2022-12-11 16:49:06 +01:00
Stefan Kangas
118465f6fe ; Improve checkdoc.el commentary section
* lisp/emacs-lisp/checkdoc.el: Improve wording of Commentary.
(checkdoc): Link commentary from defgroup.
2022-12-10 23:55:00 +01:00
Juanma Barranquero
26a8644a58 ; tabulated-list.el: Remove duplicate obsolete declaration
* lisp/emacs-lisp/tabulated-list.el
(tabulated-list-line-number-width): Remove second
`define-obsolete-function-alias' for the same function.
2022-12-10 21:31:59 +01:00
Philip Kaludercic
a8ee046fb5 Ensure 'package-vc--version' always returns a version
* lisp/emacs-lisp/package-vc.el (package-vc--version): Return "0" even
if the main file exists, but lacks version headers.
2022-12-10 09:48:02 +01:00
Philip Kaludercic
022ab1061b Ensure 'package-vc--main-file' always returns an existing file
* lisp/emacs-lisp/package-vc.el (require): Explicitly require cl-lib.
(package-vc--main-file): If the expected file name is missing, try and
find the closest match.
2022-12-10 09:48:02 +01:00
Philip Kaludercic
357fe91996 Check if package already exists before installing from checkout
* lisp/emacs-lisp/package-vc.el (package-vc-install-from-checkout):
Copy check from 'package-vc--unpack'.
2022-12-10 09:48:02 +01:00
Philip Kaludercic
5e8bc79f6b ; Fix reference in docstring to 'package-vc-install-from-checkout'
* lisp/emacs-lisp/package-vc.el (package-vc-checkout): Fix reference.
2022-12-10 09:48:02 +01:00
Matt Armstrong
af88b00b19 Refresh the package quickstart file in package-vc
* lisp/emacs-lisp/package-vc.el (package-vc--unpack-1): Call
`package--quickstart-maybe-refresh', just as
`package-install-from-buffer' does.  (bug#59728)
2022-12-10 09:48:02 +01:00
Stefan Kangas
2626704054 ; Normalize GPLv3 license statements in new files 2022-12-09 00:13:00 +01:00
Eli Zaretskii
70a2eb4a0b Fix 'add-display-text-property' when OBJECT is non-nil
* lisp/emacs-lisp/subr-x.el (add-display-text-property): Fix the
case where OBJECT is not nil.  (Bug#59857)

* test/lisp/emacs-lisp/subr-x-tests.el
(subr-x-test-add-display-text-property): Add test for this case.
2022-12-06 14:41:36 +02:00
Tom Gillespie
432b9655ae Restore font-lock-type-face for lisp mode &symbols
* lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2)
(lisp-el-font-lock-keywords-2): Restore use of type face instead of
builtin face for &symbol keywords.  This fixes what appears to be
a copy paste error that changed the face for common lisp and emacs
lisp &symbol style keywords that was introduced in commit
a498e5f83 by restoring the type face to font-lock-type-face as
consistent with the comments.
2022-12-04 19:50:45 +02:00
Eli Zaretskii
6fb9a03cbd ; Remove debugging leftover message
* lisp/emacs-lisp/comp.el (comp--native-compile): Remove
unnecessary call to 'message'.  (Bug#59766)
2022-12-03 22:06:34 +02:00
Eli Zaretskii
641ef36403 Fix gud-minor-mode-menu
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode)
(easy-mmode-define-keymap): Don't declare obsolete, since we are
still using it in gud.el.  (Bug#59769)  (Bug#59605)
Do not merge to master.
2022-12-03 11:32:00 +02:00
Eli Zaretskii
3623d5c195 Revert "Make easy-mmode-defmap obsolete and adjust only caller"
This reverts commit 8bb5c1bfec.
That commit lost too many useful features in the GUD menus
and caused several bugs, the last of them bug#59769.

Do not merge to master.
2022-12-03 11:16:41 +02:00
Juanma Barranquero
e5b0141b0d Fix error editing multisession variables (bug#59710)
* lisp/emacs-lisp/multisession.el (multisession-edit-value):
Do not use `bound-and-true-p' on a non-symbol.  This reverts
commit bd586121ac.
2022-12-02 14:25:35 +01:00
Juri Linkov
bf66b90b9a Fix the width of margins for icons in outline-minor-mode (bug#59719)
* doc/lispref/display.texi (Icons): Add :width spec.

* lisp/emacs-lisp/icons.el (icons--create): Handle :width as well.

* lisp/outline.el (outline--margin-width, outline-margin-width):
New variables.
(outline-open-in-margins, outline-close-in-margins)
(outline-close-rtl-in-margins): Don't inherit from parents.
Use `:width font' instead of `:height 10'.
(outline-minor-mode): Calculate the number of columns for margins
to fit the icons.
2022-12-02 09:54:22 +02:00
Stefan Kangas
70ecdebc92 ; Fix typos (don't abbreviate "with" or "without") 2022-12-01 16:36:09 +01:00
muffinmad
832b013ef0 Insert news for installed packages only
* lisp/emacs-lisp/package.el (describe-package-1): Check package is
installed and "news" is a regular file.  (Bug#59684)
2022-11-30 20:27:41 +01:00
Philip Kaludercic
cc6efa7992 ; Fix type error in 'package-maintainers'
* lisp/emacs-lisp/package.el (package-maintainers): Pass the email
address to 'ietf-drums-parse-address' (Bug#59676).
2022-11-30 20:27:41 +01:00
Juanma Barranquero
2772ebe366 Do not prune native-compiled system directories (bug#59658)
* lisp/emacs-lisp/comp.el (native-compile-prune-cache):
Skip last directory in `native-comp-eln-load-path'.
2022-11-28 17:46:21 +01:00
Stefan Kangas
7bf393dcf0 ; Consistently call alists "association list"
* doc/lispref/compile.texi (Compiler Errors):
* doc/misc/gnus.texi (Score File Format):
* etc/NEWS.24:
* lisp/emacs-lisp/byte-run.el (with-suppressed-warnings):
* lisp/progmodes/gdb-mi.el (gdb-threads-list)
(gdb-breakpoints-list, gdb-place-breakpoints): Prefer the term
"association list" for alists.
2022-11-27 18:12:45 +01:00
Philip Kaludercic
ca42ff5f0e Consistently refer to VC packages as such
* lisp/emacs-lisp/package-vc.el: Replace instances of "source package"
in comments and docstrings.
* lisp/emacs-lisp/package.el: Replace instances of "source package" in
comments and docstrings.
2022-11-27 15:32:00 +01:00
Jim Porter
14d54212ea Improve robustness of server.el tests
* lisp/emacs-lisp/ert.el (ert--insert-infos): Allow 'message' to be a
function that is called when inserting the info.
(ert-info): Update docstring to describe using a function for
MESSAGE-FORM.

* lisp/server.el (server-start): Log when the server is starting.

* test/lisp/server-tests.el (server-tests/can-create-frames-p): New
constant.  Use it to skip tests that need to create frames.
(server-tests/start-emacsclient): Rename to...
(server-tests/start-client): ... this, and set the process's buffer.
(server-tests/with-server): Put the server file in a temporary
directory so we don't conflict with real Emacs servers.
(server-tests/with-client): New macro...
(server-tests/server-start/stop-prompt-with-client)
(server-tests/emacsclient/server-edit)
(server-tests/emacsclient/create-frame)
(server-tests/emacsclient/create-frame): ... use it.
(server-tests/server-start/stop-prompt-with-client): Simplify.
2022-11-26 13:40:33 -08:00
Eli Zaretskii
4dec4aadf6 Fix generation of autoloads on MS-Windows
* lisp/emacs-lisp/loaddefs-gen.el
(loaddefs-generate--file-load-name): Handle the case when FILE and
OUTFILE don't share any common ancestor directory.  (Bug#59507)
2022-11-26 12:59:06 +02:00
Daanturo
bf93e94060 Show package name in package-vc--unpack prompt
* lisp/emacs-lisp/package-vc.el (package-vc--unpack): Display the
package name when asking whether to overwrite its previous
checkout.  (Bug#59548)
2022-11-25 09:02:16 +01:00
Manuel Giraud
2b123edcf6 Fix easy menu separator in oldXMenu
* lisp/emacs-lisp/easymenu.el (easy-menu-convert-item-1): Replace a
string of dash with a menu separator as the doc says.  (Bug#59370)
2022-11-25 00:53:16 +01:00
Philip Kaludercic
a3fcc4ed0f Don't break when loading VC packages on older Emacs versions
* lisp/emacs-lisp/package-vc.el
(package-vc--generate-description-file): Append a :kind property
instead of modifying the version number.
* lisp/emacs-lisp/package.el (package-desc): Remove special handling
for "vc annotated" versions.  (bug#59404)
2022-11-23 19:35:41 +01:00
Stefan Kangas
5e8c62ffca ; Fix typos 2022-11-23 05:49:22 +01:00
Yuan Fu
aaeaa310f0
Merge remote-tracking branch 'savannah/master' into feature/tree-sitter 2022-11-21 12:54:35 -08:00
Stefan Kangas
beaa2e4953 ; Fix typos (misspelled symbols) 2022-11-21 15:20:11 +01:00
Michael Albinus
61e96789dd Activate direct asynchronous processes for Tramp container methods
* doc/misc/tramp.texi (Remote processes): Mention also
tramp-container.el.

* lisp/emacs-lisp/ert-x.el (ert-remote-temporary-file-directory):
Add `tramp-direct-async' to "mock" method.

* lisp/net/tramp-container.el
(tramp-methods) <docker, podman, kubernetes>: Add `tramp-direct-async'.

* lisp/net/tramp.el (tramp-methods): Adapt docstring.
(tramp-handle-make-process): Handle `tramp-direct-async'.

* test/lisp/net/tramp-tests.el (tramp-methods) <mock>:
Add `tramp-direct-async'.
2022-11-21 14:49:54 +01:00
Juri Linkov
d9d8a2eba9 * lisp/outline.el (outline-search-function): New variable (bug#53981).
(outline-font-lock-keywords, outline-font-lock-face)
(outline-minor-mode-highlight-buffer, outline-next-preface)
(outline-next-heading, outline-previous-heading)
(outline-back-to-heading, outline-on-heading-p, outline-demote)
(outline-map-region, outline-next-visible-heading)
(outline-hide-sublevels, outline-up-heading): Use outline-search-function
when it's non-nil as an alternative to searching outline-regexp.
(outline-search-level, outline-search-text-property): New functions.

* lisp/apropos.el (apropos-mode): Set outline-search-function
instead of unreliable outline-regexp.
(apropos-print): Add text property outline-level.

* lisp/emacs-lisp/shortdoc.el (shortdoc-display-group):
Add text property outline-level on text separate from final newlines.
(shortdoc-display-group): Add a narrow newline to not show
text properties of the final line when the outline is hidden.
(shortdoc--display-function): Add text property outline-level.
(shortdoc-mode): Set buffer-local outline-search-function and outline-level.
2022-11-21 09:56:06 +02:00
Juri Linkov
5c709bd605 Disable display-line-numbers-mode in string-pixel-width (bug#59311)
* lisp/emacs-lisp/subr-x.el (string-pixel-width):
Turn off display-line-numbers-mode when it's enabled.
2022-11-20 20:02:20 +02:00
Stefan Kangas
16318bfb51 ; Fix typos 2022-11-20 12:59:39 +01:00