1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-26 08:41:47 -07:00
Commit graph

4832 commits

Author SHA1 Message Date
Eshel Yaron
365a91622e
; (completion-preview--try-table): Propagate extra properties.
* lisp/completion-preview.el
(completion-preview--try-table): Let-bind
'completion-extra-properties' to completion properties
that the completion backend (capf) provides, so that these
properties take effect when querying the completion table.
* test/lisp/completion-preview-tests.el
(completion-preview-propagates-properties): Add test.
2025-03-02 08:14:35 +01:00
john muhl
3998dea566 ; Cleanup sexp things in 'lua-ts-mode'
* lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Remove some
nonsensical entries from 'treesit-thing-settings'.
* test/lisp/progmodes/lua-ts-mode-resources/movement.erts:
Add missing tests for 'backward-sexp'.  (Bug#76534)
2025-03-01 14:59:56 +02:00
Randy Taylor
b531bbf73e Fix go-ts-mode const_spec highlighting (Bug#76330)
* lisp/progmodes/go-ts-mode.el (go-ts-mode--font-lock-settings):
Handle multiple const_spec identifiers.
* test/lisp/progmodes/go-ts-mode-resources/font-lock.go:
Add test case.
2025-03-01 14:12:30 +02:00
Basil L. Contovounesios
02c830ba22 Fix ert-font-lock macro signatures
* doc/misc/ert.texi (Syntax Highlighting Tests):
* test/lisp/emacs-lisp/ert-font-lock-tests.el
(test-line-comment-p--emacs-lisp, test-line-comment-p--shell-script)
(test-line-comment-p--javascript, test-line-comment-p--python)
(test-line-comment-p--c, test-macro-test--correct-highlighting)
(test-macro-test--docstring, test-macro-test--failing)
(test-macro-test--file, test-macro-test--file-no-asserts)
(test-macro-test--file-failing): Reindent macro calls.
(with-temp-buffer-str-mode): Evaluate macro arguments left-to-right.
(ert-font-lock--wrap-begin-end): Use rx for more robust composition.
(test-line-comment-p--php): Require that php-mode is callable, not
already loaded.

* lisp/emacs-lisp/ert-font-lock.el (ert-font-lock-deftest)
(ert-font-lock-deftest-file): NAME is not followed by an empty list
like in ert-deftest, so the optional DOCSTRING is actually the
second argument.  Adapt calling convention in docstring, and debug,
doc-string, and indent properties accordingly (bug#76372).  Fix
docstring grammar, document MAJOR-MODE, and avoid referring to a
file name as a path.
2025-02-25 11:02:55 +01:00
Ulrich Müller
76b938fc1d ; Don't fail image tests if jpeg is supported via imagemagick
* test/lisp/image-tests.el (image-supported-file-p/optional):
Consider also the imagemagick case.  (Bug#76465)
2025-02-21 13:02:58 +01:00
Ulrich Müller
f8ff9592be ; Skip autorevert test when notify support is missing
* test/lisp/autorevert-tests.el
(auto-revert-test07-auto-revert-several-buffers): Skip if file
notification support is not available.  (Bug#76459)
2025-02-21 13:02:58 +01:00
Ulrich Müller
230ecb1e27 ; Skip shr-test/zoom-image test if png or libxml support is missing
* test/lisp/net/shr-tests.el (shr-test/zoom-image): Skip if png
images or libxml are not supported.  (Bug#76464)
2025-02-21 12:58:20 +01:00
Ulrich Müller
cc51bd5698 ; Skip image type test if support is missing
* test/lisp/image-tests.el (image-type-from-file-name): Skip if
image types are not available.  (Bug#76462)
2025-02-21 12:58:20 +01:00
Michael Albinus
fbc13ba9cc Better NaN handling in proced-tests.el
* test/lisp/proced-tests.el (proced--cpu-at-point): Make it more robust.
(proced--assert-process-valid-cpu-refinement):
Handle `ert-test-skipped' signal.
2025-02-03 12:51:48 +01:00
Harald Jörg
b981889e9e ; cperl-mode-tests.el: Don't run the newest test in perl-mode
* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-74245): Skip
if not in cperl-mode
2025-01-14 12:17:47 +01:00
Peter Oliver
1fd7957bc7 ; cperl-mode.el: Add a test for Bug#74245
* test/lisp/progmodes/cperl-mode-resources/cperl-bug-74245.pl: New test data.

* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-74245): Verify
that a bare \"$\" can appear at the end of a subroutine signature.
2025-01-13 17:07:51 +01:00
Harald Jörg
b74ac4af94 ; cperl-mode.el: Allow bare $ in a signature (Bug#74245)
* lisp/progmodes/cperl-mode.el (cperl--signature-rx): Allow bare
sigils for unused parameters in signatures.
(cperl-find-pods-heres): Avoid $) at the end of a signature being
treated as the punctuation variable $) by treating this dollar as
punctuation

* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-signature-rx): Add ($first,$) as a valid signature,
remove ($) from the list of invalid signatures.
2025-01-13 12:24:40 +01:00
Wilhelm Kirschbaum
ae2589ea7a Add expression handling to heex-ts-mode
On the latest update of the grammar expressions were added and won't be
seen as directives anymore.

* lisp/progmodes/heex-ts-mode.el
(heex-ts--sexp-regexp): Match on expression as well.
(heex-ts--indent-rules): Indent on expression end.  (Bug#75191)
* test/lisp/progmodes/heex-ts-mode-resources/indent.erts: Add expression
indent test.
2025-01-03 09:41:15 +01:00
Stefan Kangas
7fa975adbc Update copyright year to 2025
Run "TZ=UTC0 admin/update-copyright".
2025-01-02 18:39:42 +01:00
Stephen Berman
7b8d12e95d Fix the latest dabbrev-expand test fix
* test/lisp/dabbrev-tests.el (dabbrev-expand-after-killing-buffer):
In batch runs of this file, the user-error message contains curved
quotes, but grave quotes when running `make check' (so here was
evidently not passed to `substitute-command-keys'), so use grave
quotes so the test succeeds in both modes of execution.
2024-12-03 10:38:26 +01:00
Stephen Berman
6bca138d60 Fix latest test for dabbrev-expand
* test/lisp/dabbrev-tests.el (dabbrev-expand-after-killing-buffer):
Fix typo in a 'should' test, use part of return value of 'should-error'
test, and remove mistaken and unfounded FIXME comment.
2024-12-02 13:13:39 +01:00
Stephen Berman
bd8a6f70fb Prevent "Selecting deleted buffer" error with dabbrev-expand
* lisp/dabbrev.el (dabbrev-expand): Use the buffer where the last
expansion was found only if it is still a live buffer (bug#74090).

* test/lisp/dabbrev-tests.el (dabbrev-expand-test-minibuffer-3):
Fix typo in doc string.
(dabbrev-expand-after-killing-buffer): New test.
2024-11-30 23:28:06 +01:00
Laurence Warne
74a972cace Skip proced refine tests on Darwin
* test/lisp/proced-tests.el (proced-refine-test)
(proced-refine-with-update-test): Skip if the system is Darwin.
2024-11-22 09:36:31 +01:00
Laurence Warne
926d47ab2c Don't error in Proced tests if %CPU is a NaN
* test/lisp/proced-tests.el (proced--cpu-at-point): New function.
(proced--assert-process-valid-cpu-refinement)
(proced-refine-test, proced-refine-with-update-test): If %CPU for any
process visited is a NaN skip the test.
(proced-update-preserves-pid-at-point-test): Fix typo in comment.
(proced--assert-process-valid-cpu-refinement-explainer): Add process
attributes to the explainer along with tweaking how the process %CPU is
obtained to account for circumstances where it's not numeric (most
notably '-nan').
2024-11-15 16:22:52 +01:00
john muhl
d592832504 Improve comment indenting in 'lua-ts-mode'
* lisp/progmodes/lua-ts-mode.el (lua-ts--simple-indent-rules):
Align single line comments with the surrounding context.
(lua-ts--comment-first-sibling-matcher): Check that comment is
the first sibling.
(lua-ts--multi-line-comment-start): New function.
* test/lisp/progmodes/lua-ts-mode-resources/indent.erts:
Add tests.  (Bug#74298)
2024-11-14 10:14:46 +02:00
Mattias Engdegård
e88309eef3 Fix wrong value of when and unless with empty body (bug#74215)
* lisp/subr.el (when, unless): Return nil when the body is empty.
Reported by Brennan Vincent.
* test/lisp/subr-tests.el (subr-test-when): Add test cases.

(cherry picked from commit 9ee9154247)
2024-11-06 15:27:33 +02:00
Michael Albinus
37b1799c9e ; Instrument proced-tests.el further
* test/lisp/proced-tests.el
(proced--assert-process-valid-cpu-refinement): Explain also Lisp errors.
2024-11-04 14:24:21 +01:00
Dmitry Gutov
0f9d48e99c project-tests: Add test assertion for bug#73801
* test/lisp/progmodes/project-tests.el
(project-vc-extra-root-markers-supports-wildcards): End with a
check that we didn't cache a wrong value for parent (bug#73801).

(cherry picked from commit 94a9e40e82)
2024-11-01 02:35:08 +02:00
Stephen Berman
8113b5c562 Fix bugs in dabbrev-expand (bug#74090)
* lisp/dabbrev.el (dabbrev-expand): Use the buffer where the
expansion was found when setting the internal variables used to
determine the next expansion or a replacement expansion.

* test/lisp/dabbrev-tests.el (ert-x): Require for
'ert-with-temp-directory', 'ert-resource-directory' and
'ert-resource-file'.
(with-dabbrev-test): New macro.
(dabbrev-expand-test-same-buffer-{1,2,3,4})
(dabbrev-expand-test-other-buffer-{1,2,3,4})
(dabbrev-expand-test-minibuffer-{1,2,3,4}): New tests.

* test/lisp/dabbrev-resources/dabbrev-expand.el:
* test/lisp/dabbrev-resources/INSTALL_BEGIN: New test resources.

(cherry picked from commit f6c359cb66)
2024-10-31 12:12:25 +01:00
Laurence Warne
98796f95fa Work on proced-tests.el
* test/lisp/proced-tests.el
(proced--assert-process-valid-cpu-refinement-explainer): New function
for explaining refinement test failures in greater detail.
2024-10-30 15:12:13 +01:00
Stefan Monnier
cc6a11f483 (with-peg-rules): Fix references to rulesets (bug#74018)
PEG rules get "compiled" to functions with name `peg-rule <RULE>`.
`define-peg-ruleset` instead defines it PEG rules with name
`peg-rule <RULESET> <RULE>`, so that they can be made visible
by `with-peg-rules` simply by adding local aliases from
`peg-rule <RULE>` to `peg-rule <RULESET> <RULE>`.

Apparently when I added `define-peg-ruleset` I somehow failed to
install some of the corresponding code in `with-peg-rules`, so
the aliases were not installed, making it "impossible" to use
rulesets.
[ I still have no idea how this happened and/or where
  the missing code went, so I "recreated" it.  ]

* lisp/progmodes/peg.el (with-peg-rules): Install the aliases
for the rulesets.
(peg--translate-rule-body): Try and preserve
location info when emitting a warning.

* test/lisp/progmodes/peg-tests.el (peg-test-myrules): New ruleset.
(peg-test-ruleset): New test.
2024-10-28 22:14:10 -04:00
Laurence Warne
7a8ca202c5 Fix flakey proced refine tests (Bug#73441)
* test/lisp/proced-tests.el (proced-refine-test)
(proced-refine-with-update-test): Use the much simpler CPU refinement
for testing 'proced-refine'.  The previous tests made the incorrect
assumption that refining on the PID of process A only filtered the
buffer to contain process A and its children, whereas in actuality
the children of process A's children, their children, and so on will
also be shown.
(proced-update-preserves-pid-at-point-test): Mark as unstable.
2024-10-27 16:50:20 +01:00
Stefan Kangas
67a27ff53b ; Fix typos 2024-10-27 07:49:32 +01:00
Michael Albinus
3f94b979d8 ; Remove proced-tests.el instrumentation (Do not merge with master) 2024-10-26 18:55:46 +02:00
Michael Albinus
75584a3a96 ; * test/lisp/proced-tests.el (proced--within-buffer): Instrument macro.
Do not merge with master
2024-10-23 17:01:08 +02:00
Jim Porter
b7a375f5c4 Fix error when splicing Eshell globs and a glob expands to itself
This could happen when 'eshell-extended-glob' determines that a "glob"
is not really a glob.  This mainly happens for remote file names with a
"~" in them, like "/ssh:remote:~/file.txt".

* lisp/eshell/em-glob.el (eshell-extended-glob): Return a list when
'eshell-glob-splice-results' is non-nil.
* test/lisp/eshell/em-glob-tests.el
(em-glob-test/expand/splice-results)
em-glob-test/expand/no-splice-results): Extend tests.
2024-10-22 09:43:00 -07:00
Yuan Fu
c154047c46
Fix c-ts-mode--anchor-prev-sibling (bug#73661)
* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--anchor-prev-sibling):  Fix parentheses and use a
slightly more efficient function.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: Replace
the tab in the test code with spaces.
2024-10-14 20:23:15 -07:00
Jørgen Kvalsvik
e49b479f86
Fix c-ts-mode indentation for initializer lists (bug#73661)
The intentation behavior differed between c-mode/c++-mode
and *-ts-mode for initializer lists where the first element was
not at beginning-of-line.  The anchor-prev-sibling function gave
up and returned nil, but it should (probably) anchor on the
first element in the initializer list, such as this:

return { v1, v2, ...,
         y1, y2, ... };

c-ts-mode behaved better and figured out how to align, but I
added a test for a similar compound literal to prevent
regressions.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--anchor-prev-sibling):
Anchor at first sibling unless bol is found.

* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New
initializer list and compound literal test.

Copyright-paperwork-exempt: yes
2024-10-10 00:05:42 -07:00
Jim Porter
11e3e0cadd Fix executing commands in Eshell using "env" with no local variables
* lisp/eshell/esh-var.el (eshell/env): Throw 'eshell-replace-command' as
needed.

* test/lisp/eshell/esh-var-tests.el
(esh-var-test/local-variables/env/no-locals): New test (bug#73479).
2024-09-29 18:22:45 -07:00
Stephen Berman
d509a35699 Fix regression in widget-move (bug#72995)
* lisp/wid-edit.el (widget-move): Avoid advancing point only if it
is at the start of a widget at BOB.

* test/lisp/wid-edit-tests.el (widget-test-widget-move-bug72995): New test.
2024-09-14 12:42:49 +02:00
Spencer Baugh
3cda1fdc3b Correctly include fixed strings before a prefix wildcard in PCM
In 03ac16ece4 I fixed a bug with the
PCM implementation of substring completion, relating to the handling
of PCM wildcards.
However, this fix was incomplete.  This change completes the fix by
also including a fixed string if it appears before a 'prefix'
wildcard, even if 'try-completion' doesn't discover that fixed
string grows to a unique completion.
I discovered this bug while working on enhancements to PCM
completion related to 'completion-pcm-leading-wildcard'.
* lisp/minibuffer.el (completion-pcm--merge-completions): Include
fixed strings before 'prefix wildcard.  (Bug#72819)
* test/lisp/minibuffer-tests.el (completion-substring-test-5): Add a
test for this behavior.
2024-09-14 12:24:08 +03:00
Mattias Engdegård
ca3932121a Don't fail uniquify-tests in non-version-controlled source trees
* test/lisp/uniquify-tests.el (uniquify-project-transform):
Skip test if there is no project (bug#73205).
2024-09-13 12:17:17 +02:00
Dmitry Gutov
818c0cc9a5 eglot-test-rust-completion-exit-function: Fix failure in -Q session
* test/lisp/progmodes/eglot-tests.el (eglot--call-with-fixture):
Check for buffer liveness (https://debbugs.gnu.org/72765#29).
(eglot-test-rust-completion-exit-function): Don't expect snippet
expansion to happen (no yasnippet in batch mode).
2024-09-10 04:36:34 +03:00
Ulrich Müller
87a8b12a0c Fix test failure in erc-networks-tests
* test/lisp/erc/erc-networks-tests.el
(erc-networks--id-sort-buffers): Make sure that buffers have
different timestamps.  (Bug#73036)
2024-09-05 10:19:45 +02:00
Dmitry Gutov
24f12bdd77 Support the new option in ruby-ts-mode too
* etc/NEWS: Describe it here.

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--parent-call-or-bol):
Support the option ruby-bracketed-args-indent here too (bug#60321).

* test/lisp/progmodes/ruby-ts-mode-tests.el: Include
ruby-bracketed-args-indent.rb as test examples.

* test/lisp/progmodes/ruby-mode-resources/ruby-bracketed-args-indent.rb:
Extend examples for better regression testing.
2024-09-02 21:57:35 +03:00
Aaron Jensen
6c15b7710d Add new option ruby-bracketed-args-indent
* lisp/progmodes/ruby-mode.el (ruby-bracketed-args-indent): New option.
(ruby-smie-rules): Use it (bug#60321).
* test/lisp/progmodes/ruby-mode-resources/ruby-bracketed-args-indent.rb:
New file.
* test/lisp/progmodes/ruby-mode-tests.el: Use it for new case.
2024-09-02 21:55:16 +03:00
Juri Linkov
e0d8879bcd * test/lisp/emacs-lisp/tabulated-list-tests.el: Add missing test.
(tabulated-list-groups-with-path): Add test for tabulated-list-groups.
2024-09-01 20:17:03 +03:00
Jim Porter
4af1dc83ae Fix redirecting Eshell output to symbols in some places
Do not merge to master.

* lisp/eshell/esh-io.el (eshell-output-object-to-target): Don't require
TARGET to be bound.

* lisp/eshell/em-script.el (eshell-execute-file): Quote the output/error
targets.

* test/lisp/eshell/em-script-tests.el (eshell-execute-file-output): New
variable.
(em-script-test/execute-file/output-file)
(em-script-test/execute-file/output-symbol): New tests.

* test/lisp/eshell/esh-io-tests.el (eshell-test-file-string): Move to...
* test/lisp/eshell/eshell-tests-helpers.el (eshell-test-file-string):
... here.
2024-08-29 21:51:25 -07:00
Stefan Kangas
aa6ed7f67e Fix copyright years by hand (Bug#72809)
These are dates that admin/update-copyright did not update.
2024-08-26 02:50:24 +02:00
F. Jason Park
0a50019308 Indent ERT failure explanations rigidly
This also affects the listing of `should' forms produced by hitting
the L key on a test button in an ERT buffer.

* lisp/emacs-lisp/ert.el (ert--pp-with-indentation-and-newline):
Indent the pretty-printed result to match the caller's current column
as a reference indentation.
* test/lisp/emacs-lisp/ert-tests.el
(ert--pp-with-indentation-and-newline): New test.  (Bug#72561)
2024-08-25 09:01:02 -07:00
Dmitry Gutov
713069dd7a [Eglot] Stricter "expand common" behavior
* lisp/progmodes/eglot.el (eglot--dumb-tryc): Check that the
expanded string matches every completion strictly (bug#72705).
And in the fallback case, check whether the table matches the
original prefix at all.  Return nil otherwise.

* test/lisp/progmodes/eglot-tests.el
(eglot-test-stop-completion-on-nonprefix)
(eglot-test-try-completion-nomatch): Corresponding tests.

* etc/EGLOT-NEWS: New entry.
2024-08-25 18:23:51 +03:00
Dmitry Gutov
096730510c eglot-tests.el: New tests for existing completion behavior
* test/lisp/progmodes/eglot-tests.el
(eglot-test-common-prefix-completion)
(eglot-test-try-completion-inside-symbol)
(eglot-test-rust-completion-exit-function): New tests.
(eglot--wait-for-rust-analyzer): New function.
2024-08-25 18:05:28 +03:00
Michael Albinus
616a93d185 Tag test in typescript-ts-mode-tests.el as unstable
* test/lisp/progmodes/typescript-ts-mode-tests.el
(typescript-ts-mode-test-indentation): Tag it as :unstable on emba.
2024-08-13 09:19:00 +02:00
Yuan Fu
cb421286d2
Fix c++-ts-mode indentation for templace (bug#72263)
* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--indent-styles): Add rule for template.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: Add test.
2024-07-31 23:46:28 -07:00
Harald Jörg
c27055a938 ; cperl-mode.el: Fix fontification of flip-flop (Bug#72296)
* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Prevent a
movement of point from bleeding into a following clause.
* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-72296):
Add a test for the flip-flop operator with code from the report.
2024-07-25 22:00:10 +02:00