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

8579 commits

Author SHA1 Message Date
Elías Gabriel Pérez
c911495fb1 hideshow: New minor mode 'hs-indentation-mode'. (Bug#80179)
This minor mode configures hs-minor-mode to use
indentation-based folding.

* lisp/progmodes/hideshow.el (hs-hideable-block-p): New
function.
(hs-indentation-respect-end-block): New option.
(hs-indentation--store-vars): New variable.
(hs-cycle-filter, hs-get-first-block-on-line, hs-get-near-block)
(hs-find-block-beg-fn--default): Adapt code to use
'hs-hideable-block-p'.
(hs-block-positions): Update.
(hs-indentation-mode): New minor mode.

* doc/emacs/programs.texi (Hideshow): Update documentation.

* etc/NEWS: Announce changes

* test/lisp/progmodes/hideshow-tests.el: Add 'require'.
(hideshow-check-indentation-folding): New test.
2026-03-19 17:11:54 +02:00
Stefan Monnier
e2004eb56f Merge remote-tracking branch 'origin/scratch/error-API' 2026-03-15 17:17:21 -04:00
Julian Scheid
f15ad18a14 Fix 'comp--func-unique-in-cu-p' to match docstring
* lisp/emacs-lisp/comp.el (comp--func-unique-in-cu-p): Check
only the callee name instead of requiring global uniqueness.
* test/src/comp-resources/comp-test-direct-call.el: New file.
* test/src/comp-resources/comp-test-direct-call-dup.el: New file.
* test/src/comp-tests.el (comp-tests-has-direct-call-p)
(comp-tests-direct-call-with-lambdas)
(comp-tests-direct-call-with-duplicate-names): New tests.
2026-03-12 09:08:08 +01:00
Philip Kaludercic
dad9864340
; Load missing features to run package-vc tests 2026-03-12 08:59:25 +01:00
Philip Kaludercic
cfe9d94524
; Use "example.com" in package-vc-tests
* test/lisp/emacs-lisp/package-vc-resources/test-package-SUFFIX-v0.1.el.in:
* test/lisp/emacs-lisp/package-vc-resources/test-package-SUFFIX-v0.2.el.in:
Update headers.
* test/lisp/emacs-lisp/package-vc-tests.el (prepare-patch)
(package-vc-with-tests-environment): Adjust expected values.
2026-03-11 21:33:08 +01:00
Philip Kaludercic
fb729157d3
; Relax "prepare-patch" test for package-vc
This change is partially necessary due to the changes to
'package-maintainers' in 4b253c39b1.

* test/lisp/emacs-lisp/package-vc-tests.el (prepare-patch): Do
not match exact order of headers, and do not match exact syntax
of email address.
2026-03-11 21:33:08 +01:00
Basil L. Contovounesios
8d356c55ad Tweak recent error descriptor changes
* etc/NEWS: Fix capitalization and markup.
* lisp/emacs-lisp/ert.el (ert--should-error-handle-error): Prefer
any over cl-some where either will do.
* lisp/epa-file.el (epa-file--find-file-not-found-function):
Reindent.
(epa-file--error-add-context): Use correct variables.  Add
docstring.
* lisp/ffap.el (ffap-machine-p):
* lisp/gnus/nnmaildir.el (nnmaildir--emlink-p): Prefer
string-equal-ignore-case over case fiddling.
* lisp/gnus/gnus-search.el (gnus-search-run-query): Fix typo in
error re-signaling.
* lisp/ibuffer.el (ibuffer-confirm-operation-on): Prefer string
search over regexp matching where either will do.
* test/lisp/vc/vc-tests/vc-tests.el
(vc-test--run-maybe-unsupported-function): Pacify unused
condition-case error variable warnings (bug#72212).
2026-03-11 16:05:04 -04:00
Stefan Monnier
261f4a012e (subr-error-API): New test. Also, improve the etc/NEWS
* test/lisp/subr-tests.el (subr-error-API): New test.
2026-03-11 12:39:14 -04:00
Andrea Corallo
40f4fc1d8c Fix negated equality assumptions (bug#80327)
* lisp/emacs-lisp/comp.el (comp--add-cond-cstrs): Skip
negated equality assumptions only for relational non-immediate
operands. Keep immediate false-branch constraints.
* test/src/comp-resources/comp-test-funcs.el
(comp-test-80327-hash, comp-test-80327-f): Add reproducer.
* test/src/comp-tests.el (comp-tests-bug-80327): Add regression
test.
2026-03-11 17:09:57 +01:00
Michael Albinus
d3adff8c8f Improve tramp-tests.el
* test/lisp/net/tramp-tests.el (ert-temp-file-prefix)
(ert-temp-file-suffix, ert--with-temp-file-generate-suffix)
(ert-with-temp-file, ert-with-temp-directory): Add them if they
don't exist.
(tramp--test-make-temp-name, tramp--test-kubernetes-p)
(tramp--test-supports-set-file-times-p): New defuns.
(tramp--test-make-temp-name): Use `tramp--test-make-temp-prefix'.
(tramp-test03-file-error, tramp-test20-file-modes)
(tramp-test22-file-times, tramp-test26-file-name-completion):
Adapt tests.
2026-03-11 16:26:35 +01:00
Stefan Monnier
6d8b3d1077 test subdirectory: Use new error-API
* test/lisp/vc/vc-tests/vc-tests.el
(vc-test--run-maybe-unsupported-function): Remove dummy branch in
`condition-case`.
* test/lisp/arc-mode-tests.el (define-arc-mode-test-on-type):
Use `error-slot-value`.

* test/src/process-tests.el (process-tests--ignore-EMFILE):
* test/src/filelock-tests.el (filelock-tests-unlock-spoiled)
(filelock-tests-kill-buffer-spoiled):
* test/lisp/vc/vc-git-tests.el (vc-git-test--run):
* test/lisp/proced-tests.el (proced--assert-process-valid-cpu-refinement):
* test/lisp/emacs-lisp/pp-tests.el (pp-tests--sanity):
* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-with-normal-env)
(edebug-tests-post-command):
* test/lisp/autorevert-tests.el (auto-revert--deftest-remote):
* test/infra/android/test-controller.el (ats-connect):
2026-03-10 10:48:22 -04:00
Stefan Monnier
ea5f15d096 Fix signal calls where the data argument is not a list
* test/src/thread-tests.el (threads-join-error):
* test/src/emacs-module-resources/mod-test.c (Fmod_test_signal):
* src/print.c (print_bind_overrides):
* lisp/url/url-future.el (url-future-finish, url-future-errored)
(url-future-call, url-future-cancel): Make sure signal's data is a list.

* test/src/emacs-module-tests.el (mod-test-non-local-exit-signal-test):
Adjust accordingly.
2026-03-10 00:13:31 -04:00
Yuan Fu
320e33a85f
Ensure c-ts-mode tests are never stuck (bug#80565)
* test/lisp/progmodes/c-ts-mode-tests.el: Don't prompt for
installing cpp grammar when they're not installed.
2026-03-08 22:53:48 -07:00
Michael Albinus
fedf45ca63 Revert "Repair serious breakage in the batch tests."
This reverts commit feac531415.

This patch has deactivated 253 test cases without a sufficient reasoning.
Instead it speaks about a shotgun in its commite message.

The patch is reverted because

- It hasn't been discussed on emacs-devel. It should have, because it is
  a serious change in our infrastructure (new official tag :nobatch). Any
  documentation of this change, for example in test/README, is missing.

- The proper way to deactivate such tests would have been

  (skip-when noninteractive)

  Even better to skip for the respective reasons.

- There is no fault report. There is no information about how these tests
  have failed. Since it hasn't been a problem so far for us, nobody will
  work on a fix forever.
2026-03-04 19:24:52 +01:00
Sean Whitton
7d63d267f2 Rename 'any' to 'member-if' and deprecate 'cl-member-if'
* lisp/subr.el (any): Rename from this ...
(member-if): ... to this.  All uses changed.
(any): New function alias.
* lisp/emacs-lisp/cl-seq.el (cl-member-if): Mark obsolete.
* lisp/obsolete/cl.el (member-if): Delete obsolete function
alias.
* doc/lispref/lists.texi (List Elements):
* doc/misc/cl.texi (Lists as Sets):
* etc/NEWS: Document the change.
2026-03-04 14:43:05 +00:00
Mattias Engdegård
7eba545a4e Revert "Rename 'any' to 'member-if' and deprecate 'cl-member-if'"
This reverts commit 2bdf15f6d8.

There is no consensus for this change.
2026-03-03 17:21:35 +01:00
Sean Whitton
2bdf15f6d8 Rename 'any' to 'member-if' and deprecate 'cl-member-if'
* lisp/subr.el (any): Rename from this ...
(member-if): ... to this.  All uses changed.
Implement '&key KEY-FN' for backwards compatibility.
(any): New function alias.
* lisp/emacs-lisp/cl-seq.el (cl-member-if): Make an alias for
'member-if'.
* lisp/obsolete/cl.el (member-if): Delete obsolete function
alias.
* doc/lispref/lists.texi (List Elements):
* doc/misc/cl.texi (Lists as Sets):
* etc/NEWS: Document the change.
2026-03-03 13:57:07 +00:00
Jacek Świerk
60bbe8786a Add Rust panic message pattern (bug#80403)
* etc/compilation.txt: Add example.
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
New rule.
* test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data)
(compile-test-error-regexps): Add test case.

Copyright-paperwork-exempt: yes
2026-03-01 15:35:10 +01:00
Eli Zaretskii
959da75342 ; * test/src/data-tests.el (data-tests-native-comp-unit): Fix test. 2026-02-27 15:29:16 +02:00
Richard Lawrence
f0dbe25d4c Fix `diary-rrule' recurrence rule calculation (Bug#80460)
Thanks to TAKAHASHI Yoshio for reporting and for fixing one of
the typos.  In addition to the reported bug involving
:include/:exclude, testing revealed that the provided RRULE
COUNT clause was also not being handled correctly; this change
also fixes that.
* lisp/calendar/diary-icalendar.el (diary-rrule): Handle
recurrence rules with a COUNT clause.
* lisp/calendar/icalendar-recur.el
(icalendar-recur-recurrences-in-interval): Fix a couple of
typos that caused RDATE/EXDATE calculations to fail.
* test/lisp/calendar/diary-icalendar-tests.el
(diary-icalendar-test-rrule-bug-80460): New test for this bug.
2026-02-26 14:25:22 +02:00
Eli Zaretskii
c73823dddd ; Fix esh-proc-tests on MS-Windows
* test/lisp/eshell/esh-proc-tests.el (esh-proc-test/kill/process-id)
(esh-proc-test/kill/process-object): Fix these tests on MS-Windows.
2026-02-26 08:00:02 +02:00
Eric S. Raymond
47735e0243 Repair another test bollixed by aggressive optimization. 2026-02-25 20:51:21 -05:00
Eric S. Raymond
ca42055b0c Repair ab ecal test by making a variable kexical, 2026-02-25 20:20:26 -05:00
Eric S. Raymond
1b0c8d6b95 Complete the test set for floatfns,c. 2026-02-25 20:18:31 -05:00
Eric S. Raymond
a339c6827c Tesrts for the portable primitives in fileio.c. 2026-02-25 19:54:11 -05:00
Eric S. Raymond
5749b2e4f4 Tests for primitives in coding.c and charset.c. 2026-02-25 19:41:05 -05:00
Eric S. Raymond
b09f8df206 Tests for primitives from the character.c module. 2026-02-25 19:41:05 -05:00
Eric S. Raymond
d7a3d442b4 Tests for the lreaf.c amd print.c primitives. 2026-02-25 19:03:02 -05:00
Eric S. Raymond
cd038e5617 Tests for remaining functions iun eval.c. 2026-02-25 18:54:50 -05:00
Eric S. Raymond
a6e19d6179 Completing test coverage for dataa.c orimitives. 2026-02-25 18:35:02 -05:00
Eric S. Raymond
40ff4512ad More correctness tesrs for orinitives from fns.c. 2026-02-25 18:25:58 -05:00
Eric S. Raymond
67e8f87562 More tests for edit functions, buffers, and markers. 2026-02-25 18:10:05 -05:00
Eric S. Raymond
3dda4b85e8 Added more buffer/marker/editing test coverage. 2026-02-25 17:52:42 -05:00
Eric S. Raymond
7a93a7b334 Category/charset/coding + char-table tests. 2026-02-25 17:23:46 -05:00
Eric S. Raymond
fc7339c46d More test coverage improvements. 2026-02-25 17:06:50 -05:00
Eric S. Raymond
feac531415 Repair serious breakage in the batch tests.
There were a bunch of tests that were breaking make check and should
never be run in batch mode, because they do things like assuming there
is a controlling tty or assuming we can access network services when
we can't (e/g. in a CI/CD environment). I have shotgunned this
problem by tagging all the failing tests with :nobatch and then
changing the default and expensive selectors so make check won't barf
all over its shoes.

As many of these :nobatch should be individually removed as possible, after
upgrading the test harness to mock the environmental stuff they need.
Investigate these failures with "make check-nobatch".
2026-02-25 16:36:50 -05:00
Eric S. Raymond
95329bf445 More test coverage improvements.
Bignum corner-case tests in data-tests.el.
More buffer-primitive tests in editfns-test.el
Some condition-case tesrs in eval-tests.el.
And another marker-primitive test in marker-tests.el.
2026-02-25 13:21:25 -05:00
Eric S. Raymond
e42c579a54 More test coverage improvements for ERT.
In marker-tests.el, editfbs-tests.el, and data-tests.el.
2026-02-25 13:21:25 -05:00
Eli Zaretskii
de44026297 ; Fix emacs-module-tests on MS-Windows
* test/src/emacs-module-resources/mod-test.c [WINDOWSNT]: Undef
fprintf to prevent link error.
2026-02-25 19:32:46 +02:00
Eric S. Raymond
90af3295c7 Crrections to tedt coverrage extensuion after bootstrap build.
Files: data-tests.el, editfns-tests.el.
2026-02-25 11:47:16 -05:00
Eric S. Raymond
6eb170b007 Improve test coverage of builtin predicates. 2026-02-25 11:47:16 -05:00
Sean Whitton
215e07d9d3 New function multiple-command-partition-arguments
* lisp/subr.el (command-line-max-length): New variable.
(multiple-command-partition-arguments): New function.
* doc/lispref/processes.texi (Shell Arguments):
* etc/NEWS: Document them.
* test/lisp/subr-tests.el
(subr-multiple-command-partition-arguments): New test.
2026-02-25 16:29:05 +00:00
Eric S. Raymond
6d7f0acf9c Tests for 2 marker primitives previously not covered.
- insertion-type
      - last-position-after-kill
2026-02-25 10:24:38 -05:00
Eric S. Raymond
bb403e70ae Tests for 7 editor primitives previously not covered.
- byte-to-position
      - byte-to-string
      - insert-byte
      - insert-buffer-substring
      - insert-before-markers-and-inherit
      - field-string-and-delete
      - constrain-to-field
2026-02-25 10:24:38 -05:00
Mattias Engdegård
8c5be1a7a6 Fix eglot-tests on MacOS (bug#80479)
* test/lisp/progmodes/eglot-tests.el (eglot--call-with-fixture):
Normalise 'temporary-file-directory' to stave off problems that
occur when it contains symlinks, which is common on MacOS.
2026-02-24 21:42:44 +01:00
Mattias Engdegård
2505af27c6 Compare circular lists in 'equal' without error (bug#80456)
* src/lisp.h (FOR_EACH_TAIL_INTERNAL): Divvy up the code into...
(FOR_EACH_TAIL_BASIC, FOR_EACH_TAIL_STEP_CYCLEP): ...these macros,
so that they can be used in more flexible ways.
* src/fns.c (internal_equal_1): Detect circular lists and call...
(internal_equal_cycle): ...this function that keeps comparing
but now detecting cycles in the other argument.

* lisp/emacs-lisp/testcover.el (testcover-after):
Remove unnecessary error handling.
* test/src/fns-tests.el (test-cycle-equal): Adapt and extend.
* test/lisp/emacs-lisp/testcover-resources/testcases.el
(testcover-testcase-cyc1): Remove case that no longer applies.

* doc/lispref/objects.texi (Equality Predicates): Update.
* etc/NEWS: Announce.
2026-02-24 12:47:52 +01:00
Paul Nelson
b1cfe11189 Fix VC Git error when patch matches staged changes
* lisp/vc/vc-git.el (vc-git--checkin): Check that patch-string
is not empty before applying it.  This prevents an error when
the patch exactly matches the index (bug#80228).
* test/lisp/vc/vc-git-tests.el
(vc-git-test-checkin-patch-staged-diff): New test.
2026-02-23 12:52:01 +00:00
Collin Funk
29440eedac Add SHA-3 support to secure-hash
* admin/merge-gnulib (GNULIB_MODULES): Add crypto/sha3-buffer.
* lib/sha3.c: New file, imported by running admin/merge-gnulib.
* lib/sha3.h: Likewise.
* m4/sha3.m4: Likewise.
* lib/gnulib.mk.in: Updated by admin/merge-gnulib.
* m4/gnulib-comp.m4: Likewise.
* src/fns.c: Include sha3.h
(Fsecure_hash_algorithms): Add Qsha3_224, Qsha3_256, Qsha3_384, and
Qsha3_512.
(secure_hash): Likewise.
(Fsecure_hash): List the SHA-3 algorithms in the docstring.
(syms_of_fns): Define Qsha3_224, Qsha3_256, Qsha3_384, and Qsha3_512.
* test/lisp/net/gnutls-tests.el (gnutls-tests-internal-macs-upcased):
Filter out the new SHA-3 algorithms since they are currently not
implemented in gnutls.
* test/src/fns-tests.el (test-secure-hash): Add test cases for the new
algorithms.
* doc/lispref/text.texi (Checksum/Hash): List the SHA-3 algorithms.
Mention that they are considered secure.
* etc/NEWS: Mention the new feature.
2026-02-23 00:22:17 -08:00
Basil L. Contovounesios
d01a33662c Improve m4-mode font lock
Emacs 28 started fontifying several 'composite' (non-builtin) GNU M4
macros which, while listed under '(m4) Macro index', are not defined
by GNU M4, and are included in its manual for illustrative purposes.

These macro keywords range from clearly misleading (e.g., 'example',
which the GNU M4 manual explicitly describes as nonexistent),
to common in Autoconf's M4sugar layer (e.g., 'm4_quote'),
to variations thereof (e.g., 'foreachq').

It is arguably too late to revert all of these additions, so this
patch selects a handful to remove, and categorizes the rest; this
should make it easier to hide some categories behind a font lock
level or user option in the future, if desired.

This patch reverts the Emacs 28 addition of 'example', and removes
the older 'file', 'line', and 'gnu' macros.  GNU M4 renamed 'gnu' to
'__gnu__' already in 1990; and I couldn't find references to the
other two which exist as '__file__' and '__line__', respectively.

The remaining macros are partitioned into three sets: built-in,
M4sugar-like, and other (bug#80412).  For discussion, see also:
https://lists.gnu.org/r/emacs-devel/2025-10/msg00357.html

* lisp/progmodes/m4-mode.el (m4-program-options): Remove stale
commentary.
(m4--macro-list): Remove, replacing with...
(m4--builtin, m4--autoconf, m4--composite): ...these new rx
definitions.  All uses changed.  Remove 'example', 'file', 'gnu',
and 'line' as keywords.
(m4-font-lock-keywords): For consistency with real #-comments,
fontify dnl macro with font-lock-comment-delimiter-face, and only
the rest of its line with font-lock-comment-face.  Fontify argument
references with font-lock-variable-use-face rather than
font-lock-variable-name-face.  Use font lock faces rather than their
eponymous but obsolete variables.  Remove redundant entries for $@
and $*.  Prefer shy regexp groups where applicable.
(m4-mode-syntax-table): Quote syntactically special characters.
(m4-m4-buffer): DRY using m4-m4-region.
(m4-m4-region): Take region bounds as optional arguments, as
recommended under '(elisp) The Mark'.  Quote shell command.
Support non-contiguous regions.
(m4-current-defun-name): Recognize m4 backtick in addition to
Autoconf bracket.  Prefer shy regexp groups where applicable.
(m4-mode): Simplify font-lock-defaults.

* test/lisp/progmodes/m4-mode-resources/font-lock.m4:
* test/lisp/progmodes/m4-mode-tests.el: New test files.
2026-02-22 17:10:17 +01:00
Michael Albinus
e34b6caf13 ; * test/infra/test-jobs.yml: Regenerate. 2026-02-22 16:30:47 +01:00