1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 16:51:06 -07:00
Commit graph

7990 commits

Author SHA1 Message Date
Po Lu
fe7a8c92be Merge from savannah/emacs-30
1b80bc67aa ; * doc/emacs/android.texi (Android Software): Minor mark...
dcfbf7d186 ; * etc/PROBLEMS: Document the same problem here.
b09bbf22af Document requirements respecting XDG MIME databases on An...
365a91622e ; (completion-preview--try-table): Propagate extra proper...

# Conflicts:
#	lisp/completion-preview.el
2025-03-04 14:32:48 +08:00
Stefan Kangas
d9218651b6 ; Fix my last commit
* test/lisp/emacs-lisp/package-tests.el
(package-test-install-single-from-archive/string-type): Delete test.
2025-03-04 02:42:45 +01:00
Stefan Kangas
10abb87f05 Fix fontification outside hunks in Git patches
* lisp/vc/diff-mode.el (diff-font-lock-keywords): Don't fontify lines in
Git patches starting with + or - as added/removed, if they are either
before the first hunk, or in the email signature.  (Bug#75884)
(diff-buffer-type): Move definition up.
(diff--indicator-added-re, diff--indicator-removed-re): New variables.
(diff--git-preamble-end, diff--git-footer-start)
(diff--indicator-matcher-helper, diff--indicator-added-matcher)
(diff--indicator-removed-matcher): New functions.
* test/lisp/vc/diff-mode-tests.el (diff-mode-test-git-patch)
(diff-mode-test-git-patch/before-first-hunk)
(diff-mode-test-git-patch/signature): New tests.
* test/lisp/vc/diff-mode-resources/git.patch: New file.
2025-03-03 18:57:17 +01:00
Po Lu
f372508f68 ; Adapt another test to Android
* test/lisp/erc/erc-match-tests.el (erc-add-entry-to-list): Skip
on Android as it hangs for reasons unknown.
2025-03-03 21:59:41 +08:00
Mattias Engdegård
932397ce52 Strengthen widget-get/put tests
* test/lisp/wid-edit-tests.el
(widget-test-editable-field-widget-get/put): Test on inherited properties.
2025-03-03 10:49:09 +01:00
Mattias Engdegård
773108fc04 ; * test/infra/android/test-controller.el: minor regexp snags 2025-03-03 10:49:09 +01:00
Daniel Colascione
13b1436d97 Add auto-margin enable/disable to term
* test/lisp/term-tests.el (term-line-wrap-no-auto-margins): add test

* lisp/term.el (term-auto-margins): new variable
(term-mode): documentation
(term-termcap-format): mention auto-margins flag
(term-emulate-terminal): support it
(term-reset-terminal): reset it
(term-handle-ansi-escape): notice it

* etc/e/eterm-color.ti: add auto margin capability

* etc/e/README: fix build documentation

* etc/NEWS: mention auto-margins
2025-03-02 16:01:13 -05:00
Stefan Kangas
83e2e5e24b ; Fix thinko 2025-03-02 19:46:15 +01:00
Stefan Kangas
56202138a3 ; Add missing lexical-binding cookies 2025-03-02 19:46:15 +01:00
Po Lu
e34d7a7c4e ; Adapt more tests for Android
* test/infra/android/test-controller.el (ats-eval): Document new
values of ats-eval.
(ats-run-test): Report conditions where tests induce Emacs to
exit.

* test/lisp/erc/resources/erc-tests-common.el
(erc-tests-common-kill-buffers): Bind
kill-buffer-query-functions to nil.
2025-03-02 21:02:10 +08:00
Po Lu
749e33bb48 Specifically report attempts to exit Emacs during test execution
* test/infra/android/test-driver.el (ats-in-eval): Fix typo in
doc string.
(ats-eval-as-printed, ats-eval-serial, ats-eval-do-decode):
Render buffer-local.
(ats-executing-form): New variable.
(ats-process-filter): Bind the same around `eval'.
(ats-kill-emacs-function): New function; register it to execute
when Emacs exits.
2025-03-02 21:02:10 +08:00
Stefan Kangas
e4d8095c3d Fix a vc test for Breezy by setting $HOME
* test/lisp/vc/vc-tests.el (vc--fix-home-for-bzr): New macro.
(vc-test--create-repo, vc-test--register, vc-test--working-revision)
(vc-test--checkout-model, vc-test--rename-file)
(vc-test--version-diff): Fix test for Breezy by setting HOME to a
temporary directory.  (Bug#70195)
2025-03-02 13:37:34 +01:00
Po Lu
c73003ade1 Don't byte compile early-init.el
* test/infra/android/early-init.el (frame-initialize): Remove
redundant debugging printouts.
2025-03-02 19:23:44 +08:00
Po Lu
8e007f7990 ; * test/infra/android/test-driver.el: Don't byte-compile. 2025-03-02 19:15:48 +08:00
Po Lu
ecbb080865 Exclude files under `infra' from automatic testing
* test/Makefile.in (ELFILES): Exclude files within `infra'.
Reported by Stefan Kangas <skangas@gmail.com>.
2025-03-02 19:11:10 +08:00
Stefan Kangas
c4232a08f1 ; Silence byte-compiler in Android tests 2025-03-02 09:19:54 +01:00
Po Lu
a8988ce800 Run Android tests in the initial frame
* test/infra/android/early-init.el: New file.

* test/infra/android/test-controller.el (ats-connect): Upload
`early-init.el' to the staging directory and configure that
directory as the Emacs instance's initialization directory.
(ats-run-test): Always append to the test buffer.  Execute tests
within terminal-frame.
(ats-run-all-tests): Gracefully respond to errors.
(ats-cmd-error): New function.
(ats-execute-tests-batch): Accept a number of command line
arguments.
2025-03-02 16:05:04 +08:00
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
Stefan Kangas
735eace97b Make package-install accept a string as well
* lisp/emacs-lisp/package.el (package-install): Allow passing a string
instead of a symbol.  (Bug#72160)
(package-upgrade): Improve docstring.

* test/lisp/emacs-lisp/package-tests.el
(package-test-install-single-from-archive/string-type): New test.
2025-03-02 04:19:35 +01:00
Stefan Kangas
49e3ef3437 ; Add test for last change
* test/lisp/wid-edit-tests.el
(widget-test-editable-field-widget-get/put): Check return value of
widget-put.  (Bug#76664)
2025-03-02 02:18:30 +01:00
Eli Zaretskii
da584ad6fb Merge from origin/emacs-30
b531bbf73e Fix go-ts-mode const_spec highlighting (Bug#76330)
bd1d6761f4 ; Document what happens when 'display' and 'invisible' pr...
526eeedf88 keymaps.texi: Move "Changing Key Bindings" section up
7ec6531c7b keymaps.texi: Move "Key Sequences" section down
8b80401127 Improve process-get/process-put docstrings
73c646b777 Merge branch 'emacs-30' of git.sv.gnu.org:/srv/git/emacs ...
0af5c57499 Fix recent change in diff-no-select
c8cec840d7 Prevent rare freeze on Android 4.2 through 4.4
2025-03-01 10:01:54 -05:00
Eli Zaretskii
095ba1b674 Merge from origin/emacs-30
62b3d3136f Fix fns-tests-collate-strings failure with musl
840c682458 ; (completion-preview-complete): Fix bug#76606
fa42626a6a ; Fix indentation in cl.texi example
7ff806da49 ; Fix my last commit
2025-03-01 10:01:52 -05:00
Eli Zaretskii
6c411de542 Merge from origin/emacs-30
f88dc0f2f9 ; Fix documentation of 'buffer-text-pixel-size'
734986349f ; Minor Android documentation improvements
a90da89903 ; Fix up emacs-lisp-mode docstring
58c7acb555 ; Fix completion-fail-discreetly docstring typo.
02c830ba22 Fix ert-font-lock macro signatures
0c6b8643ae Fix a typo in 'window_text_pixel_size'
8a8c25eacc ; Add Rudolf Schlatte to authors.el
94c0ea39a5 * doc/misc/efaq.texi (New in Emacs 30): Fix typo.  (Bug#7...
0be5f9115e ; * etc/images/README (Files): Add an entry for last-page...
63adf9dcf5 ; Reflow some cl-lib docstrings
99253f7970 ; * etc/TODO: New section "Make it easier to contribute".

# Conflicts:
#	lisp/emacs-lisp/cl-macs.el
2025-03-01 10:01:09 -05: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
Eli Zaretskii
61320784ed Add a portable test for ffap parsing path-style directory lists
* test/lisp/ffap-tests.el (ffap-test-path-unix): Renamed from
'ffap-test-path'.
(ffap-test-path-portable): New test, which should work on all
systems.
2025-03-01 10:12:21 +02:00
Łukasz Stelmach
bc33b70b28 Fix handling of delta values with negative month field
* lisp/calendar/time-date.el (decoded-time-add): If the new
variable is less then zero, the year needs to be decremented
by quotient of new and 12 increased by one.
* test/lisp/calendar/time-date-tests.el (test-decoded-add):
Add applicable test cases.  (Bug#68969)
2025-03-01 04:38:06 +01:00
Stefan Monnier
1cfbbcfaf6 * test/src/editfns-tests.el (editfns--replace-region): New test
This test fails, sadly, because `replace-buffer-contents` is not
careful enough to something like `replace_range`.
2025-02-28 17:10:56 -05:00
Stefan Monnier
5f165caf31 (internal--c-header-file-path): Move to ffap.el
This function is used so rarely that it's really best not to
preload it.

* lisp/ffap.el (ffap-url-regexp): Precompute.
(ffap-c-path): Use `ffap--c-path`.
(ffap--gcc-is-clang-p, ffap--c-path): Move and rename from subr.el's
* lisp/subr.el (internal--gcc-is-clang-p)
(internal--c-header-file-path): Move to ffap.el and rename.

* lisp/man.el (Man-header-file-path): Default to a new value that
delegates to ffap.
(Man-header-file-path): Obey that new value.

* lisp/emacs-lisp/ert-x.el (ert-gcc-is-clang-p): Use `ffap--gcc-is-clang-p`.

* test/lisp/ffap-tests.el (ffap-tests--c-path)
(ffap-tests--c-path/gcc-mocked, ffap-tests--c-path/clang-mocked):
Move and rename from `subr-tests.el`.
* test/lisp/subr-tests.el (subr-tests-internal--c-header-file-path)
(subr-tests-internal--c-header-file-path/gcc-mocked)
(subr-tests-internal--c-header-file-path/clang-mocked):
Move to `ffap-tests.el` and rename.
2025-02-28 17:03:21 -05:00
Stefan Kangas
678fdcc165 ; Grammar fixes for "native-compiled"
1. Prefer "native-compiled" to "native compiled".
The adjective "native-compiled" with the hyphen is generally more
consistent with the typical pattern in English, especially when the
compound modifies a noun (e.g., "native-compiled code").

2. Prefer "natively compiled" to "natively-compiled".
The adverb "natively" modifies "compiled", and it is standard not
to hyphenate an adverb + adjective combination when the adverb ends
in -ly (e.g., "code that is natively compiled").

For example, note that we say "high-speed internet" but "highly
performant code".

* Makefile.in (dest):
* configure.ac (HAVE_NATIVE_COMP):
* doc/emacs/building.texi (Lisp Libraries):
* doc/lispref/compile.texi (Native Compilation)
(Native-Compilation Functions, Native-Compilation Variables):
* doc/lispref/functions.texi (What Is a Function, Declare Form):
* doc/lispref/loading.texi (How Programs Do Loading, Library Search):
* etc/NEWS:
* etc/NEWS.28:
* etc/NEWS.29:
* etc/NEWS.30:
* lisp/emacs-lisp/comp-common.el (native-comp-never-optimize-functions)
(comp-function-type-spec):
* lisp/emacs-lisp/comp-cstr.el:
* lisp/subr.el (locate-eln-file):
* src/comp.c (SETJMP_NAME, syms_of_comp):
* src/data.c (Fsubrp, Fnative_comp_function_p, Fsubr_native_lambda_list):
* src/lread.c (Fload):
* src/pdumper.c (dump_do_dump_relocation):
* test/src/comp-tests.el (lambda-return2): Avoid grammatically incorrect
variations on "natively compiled" and "native-compiled".  (Bug#56727)
2025-02-28 20:20:55 +01:00
Stefan Kangas
8b659313b8 Lift widget functions from C to Lisp
In the mid-1990s, these functions were moved from Lisp to C to
"improve performance".  However, Moore's Law, and perhaps other
improvements too, has made this rationale irrelevant.

On this machine, with --native-compilation=no, I observed only a
slight ~4% performance difference.  For example, displaying a buffer
full of widgets (e.g., 'M-x customize RET browse-url RET') takes 4ms
here, meaning the performance gap is under 0.1ms.  Even on less
powerful machines, this difference would remain imperceptible.  Given
this, let's lift these functions back to to Lisp, which offers the
usual benefits.

We already have solid test coverage, but let's add a more focused test
for 'widget-get' and 'widget-put' to be thorough.

* lisp/wid-edit.el (widget-put, widget-get, widget-apply): Move to
Lisp from...
* src/fns.c (Fwidget_put, Fwidget_get, Fwidget_apply): ...here.
(syms_of_fns): Remove defsubrs for the above functions.
* test/lisp/wid-edit-tests.el
(widget-test-editable-field-widget-get/put): New test.
2025-02-28 18:32:28 +01:00
Po Lu
18c8c44bef Adapt process-tests to Android
* src/android.c (android_init_thread_events)
(android_run_select_thread): Guarantee that the select thread is
initialized before returning.

* test/src/process-tests.el
(process-tests/fd-setsize-no-crash/make-process)
(process-tests/fd-setsize-no-crash/make-pipe-process)
(process-tests/fd-setsize-no-crash/make-network-process)
(process-tests/fd-setsize-no-crash/make-serial-process): Skip on
Android.
2025-02-28 21:06:48 +08:00
Eli Zaretskii
a04e8812ee Fix 'internal--c-header-file-path'
* lisp/subr.el (internal--c-header-file-path): Fix for MS-Windows:
don't prepend the (usually non-existent) "/usr/include", and run
each directory through 'expand-file-name' to remove the many ".."
elements and mirror any backslashes.  Invoke "clang" if "gcc" is
not available or is actually clang.

* test/lisp/subr-tests.el
(subr-tests-internal--c-header-file-path): Fix for MS-Windows:
test the path by looking for stdio.h, and expand all directory
names to compare to expected results.
2025-02-28 14:45:39 +02:00
Stefan Kangas
4ea2197f72 Add test for apply-partially
* test/lisp/subr-tests.el (subr-test-apply-partially): New test.
2025-02-28 02:30:27 +01:00
Paul Eggert
62b3d3136f Fix fns-tests-collate-strings failure with musl
* test/src/fns-tests.el (fns-tests-collate-strings):
Don’t assume "en_XY.UTF-8", or any particular string,
is an invalid locale, as they all seem to be valid in musl.
Instead, simply test that a non-string is invalid.
(Bug#76550)
2025-02-27 10:57:19 -08:00
Stephen Berman
4cc5e4ec0b Prevent a todo-mode test from running with 'make check'
* test/lisp/calendar/todo-mode-tests.el
(todo-test-add-and-delete-file): Tag this test as unstable, since
it has been reported to fail unreproducibly (bug#58473) or
reproducibly only on the ZFS filesystem (bug#76381) and the causes
are still unknown.
2025-02-27 12:13:26 +01:00
Stephen Berman
13423cd019 Prevent a todo-mode test from running with 'make check'
* test/lisp/calendar/todo-mode-tests.el
(todo-test-add-and-delete-file): Tag this test as unstable, since
it has been reported to fail unreproducibly (bug#58473) or
reproducibly only on the ZFS filesystem (bug#76381) and the causes
are still unknown.
2025-02-27 12:03:24 +01:00
Stephen Berman
f5f0ba38e0 Prevent a todo-mode test from running with 'make check'
* test/lisp/calendar/todo-mode-tests.el
(todo-test-add-and-delete-file): Tag this test as unstable, since
it has been reported to fail unreproducibly (bug#58473) or
reproducibly only on the ZFS filesystem (bug#76381) and the causes
are still unknown.
2025-02-27 12:02:24 +01:00
Paul Nelson
85a9b916db Add :continue-only directive to bind-keys and use-package
* lisp/bind-key.el (bind-keys-form): Add :continue-only binding.
Fix indentation.

* lisp/use-package/use-package-bind-key.el
(use-package-normalize-binder): Add check for :continue-only.

* test/lisp/repeat-tests.el (repeat-tests-bind-keys):
Enable (and correct) test for :continue-only (bug#74140).
2025-02-27 09:33:09 +02:00
Po Lu
7ae069b676 ; * test/infra/android/test-controller.el: Fix typos. 2025-02-26 21:22:03 +08:00
Po Lu
67b444e290 ; New function for executing Android tests in batch mode
* test/infra/android/test-controller.el
(ats-execute-tests-batch): New function.
2025-02-26 20:58:01 +08:00
Po Lu
3e496fc317 Port Eshell tests to Android
* test/infra/android/test-controller.el (ats-run-test): Run
tests in a temp buffer.

* test/lisp/eshell/em-alias-tests.el (ert, em-alias)
(eshell-tests-helpers):

* test/lisp/eshell/em-basic-tests.el (em-basic)
(eshell-tests-helpers):

* test/lisp/eshell/em-cmpl-tests.el (em-unix)
(eshell-tests-helpers):

* test/lisp/eshell/em-dirs-tests.el (em-dirs)
(eshell-tests-helpers):

* test/lisp/eshell/em-extpipe-tests.el (ert-x)
(eshell-tests-helpers):

* test/lisp/eshell/em-glob-tests.el (ert, eshell-tests-helpers):

* test/lisp/eshell/em-hist-tests.el (eshell)
(eshell-tests-helpers):

* test/lisp/eshell/em-pred-tests.el (em-pred)
(eshell-tests-helpers):

* test/lisp/eshell/em-prompt-tests.el (em-prompt)
(eshell-tests-helpers):

* test/lisp/eshell/em-script-tests.el (em-script)
(eshell-tests-helpers):

* test/lisp/eshell/em-unix-tests.el (ert-x)
(eshell-tests-helpers):

* test/lisp/eshell/esh-arg-tests.el (eshell)
(eshell-tests-helpers):

* test/lisp/eshell/esh-cmd-tests.el (eshell)
(eshell-tests-helpers):

* test/lisp/eshell/esh-ext-tests.el (eshell)
(eshell-tests-helpers):

* test/lisp/eshell/esh-io-tests.el (eshell)
(eshell-tests-helpers):

* test/lisp/eshell/esh-mode-tests.el (em-prompt)
(eshell-tests-helpers):

* test/lisp/eshell/esh-proc-tests.el (em-prompt)
(eshell-tests-helpers):

* test/lisp/eshell/esh-util-tests.el (esh-util)
(eshell-tests-helpers):

* test/lisp/eshell/esh-var-tests.el (eshell)
(eshell-tests-helpers):

* test/lisp/eshell/eshell-tests.el (esh-mode)
(eshell-tests-helpers): Load `eshell-tests-helpers' from the
resource directory.

* test/lisp/eshell/resources/eshell-tests-helpers.el: Move from
`test/lisp/eshell'.
2025-02-26 20:58:01 +08:00
Stefan Kangas
b4d1061b82 Make define-global-minor-mode alias obsolete
* lisp/emacs-lisp/easy-mmode.el (define-global-minor-mode): Make alias
for old name obsolete, just in time for its 20th anniversary.
* test/lisp/emacs-lisp/lisp-mode-tests.el (test-font-lock-keywords):
* lisp/progmodes/subword.el (global-subword-mode)
(global-superword-mode): Don't use above obsolete name.
* lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression)
(lisp-fdefs): Remove syntax highlighting for obsolete name.
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--make-autoload):
Add comment mentioning the obsolete status of above alias.
* doc/lispref/loading.texi (Autoload): Don't document obsolete name.
2025-02-26 06:37:52 +01:00
john muhl
8bc933b64e ; 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-02-26 04:52:15 +01:00
Po Lu
2938afab36 Adapt a number of regression tests to Android
* test/infra/android/test-controller.el (ats-run-test): Strip
text properties from value string.  Inhibit text conversion.

* test/lisp/emacs-lisp/find-func-tests.el
(find-func-tests--locate-symbols):

* 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)
(test-read-multiple-choice, test-read-multiple-choice-help):
Skip on Android in some wise or another.
2025-02-26 11:33:35 +08:00
Po Lu
c2804f9280 ; Improve Android testing facilities
* test/infra/android/test-controller.el (ats-eval): Don't block
other processes.
(ats-run-test): Bind ert-remote-temporary-file-directory to nil
and always print messages into the output buffer.
(ats-upload-all-tests): New function.
(ats-run-all-tests): New argument SELECTOR.  Only execute
already uploaded tests.
2025-02-26 10:39:46 +08:00
Po Lu
c5853892c5 Enable auto-revert-tests to pass on Android
* lisp/emacs-lisp/ert-x.el
(ert-remote-temporary-file-directory): Define to null-device on
Android.

* test/lisp/autorevert-tests.el
(auto-revert-test02-auto-revert-deleted-file): Provide for
situations where the watch descriptor is recreated by the
polling timer after a file notification is received.
2025-02-26 10:39:46 +08:00
Po Lu
928dc34e05 Guarantee delivery of inotify special events
* src/inotify.c (inotifyevent_to_event): Always match events
that are not encompassed by IN_ALL_EVENTS and which the
documentation implies are always delivered to callbacks.

* test/src/inotify-tests.el (inotify-file-watch-stop-delivery):
New test.
2025-02-26 10:39:46 +08:00
Po Lu
5ea0cee19a Respect temporary-file-directory in Android test controller
* test/infra/android/test-controller.el (ats-exec-script):
Respect temporary-file-directory.
2025-02-25 23:20:31 +08:00
Po Lu
55768eaaaa Implement commands for executing all tests on connected Android devices
* test/infra/android/test-controller.el (ats-upload-test):
Correct minor encoding error.  Transfer solitary files without
creating a tar archive, and handle `resources' directories.
(ats-list-tests-locally, ats-list-tests): Don't list files in
`resources' directories.  Insert test header locally, and
redisplay after insertion.
(ats-run-all-tests): New function.
2025-02-25 22:35:00 +08:00