1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-09 07:41:40 -07:00
Commit graph

8602 commits

Author SHA1 Message Date
Stefan Monnier
8485e49680 python-tests.el: Fix test failures introduced by commit c1c08f3c9f
* test/lisp/progmodes/python-tests.el (python-ts-mode-dotted-decorator-face-2)
(python-ts-mode-builtin-call-face)
(python-ts-mode-level-fontification-wo-interpolation)
(python-ts-mode-disabled-string-interpolation): Call `font-lock-ensure`
after setting a var that may flush the font-locking.
2026-03-31 09:45:42 -04:00
Stephen Berman
0c961b7778 ; Improve check of 'ls' error message in files-tests.el
* test/lisp/files-tests.el
(files-tests-file-name-non-special-insert-directory): Account for
'ls' error messages which designate 'ls' differently, e.g. as
'gls' or '/bin/ls' and which use different or no quoting of the
file name.
2026-03-28 20:55:53 +01:00
Richard Lawrence
5346417d16 Update gnus-icalendar to use new iCalendar library
This change updates gnus-icalendar.el to use the new iCalendar
library instead of obsolete functions from icalendar.el.
* lisp/gnus/gnus-icalendar.el
(gnus-icalendar-event)
(gnus-icalendar-event:recurring-p)
(gnus-icalendar-event:recurring-interval)
(gnus-icalendar-event:recurring-days)
(gnus-icalendar-event--find-attendee)
(gnus-icalendar-event-from-ical)
(gnus-icalendar-event-from-buffer)
(gnus-icalendar-event--build-reply)
(gnus-icalendar-event-reply-from-buffer)
(gnus-icalendar-event:org-repeat): Reimplement using new iCalendar functions.
(gnus-icalendar-event--attendees-by-type): Rename from
`gnus-icalendar-event--get-attendee-names'.
(gnus-icalendar-event--build-reply): Rename from
`gnus-icalendar-event--build-reply-event-body'.
(gnus-icalendar--format-participant-list): Expect list of
`icalendar-attendee's.  Add docstring.
(Bug#80426)

* test/lisp/gnus/gnus-icalendar-tests.el: Update tests.
2026-03-28 15:43:16 +03:00
Michael Albinus
0de3844f80 Fix file-name-all-completions for symlinked directories in Tramp
* lisp/net/tramp.el (tramp-skeleton-file-name-all-completions):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions):
* lisp/net/tramp-crypt.el (tramp-crypt-handle-file-name-all-completions):
* lisp/net/tramp-fuse.el (tramp-fuse-handle-file-name-all-completions):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
* lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
* lisp/net/tramp-sudoedit.el
(tramp-sudoedit-handle-file-name-all-completions): Simplify.
* tramp-tests.el (tramp-test32-shell-command): Adapt test.

* lisp/net/tramp-ftp.el (tramp-disable-ange-ftp): Use `seq-difference'.

* lisp/net/tramp-gvfs.el (tramp-gvfs-monitor-process-filter):
Use `thread-last'.

* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
Use `seq-difference'.
(tramp-sh-gio-monitor-process-filter): Use `thread-last'.

* lisp/net/tramp-smb.el (tramp-smb-get-file-entries): Do not add
virtual entry ""; it isn't needed anymore.

* lisp/net/tramp.el (tramp-make-tramp-hop-name): Use `thread-last'.
(tramp-completion-handle-file-directory-p): Use `tramp-prefix-format'.
(tramp-fnac-add-trailing-slash): New defvar.
(tramp-skeleton-file-name-all-completions): Handle also symlinked
directories.
(tramp-skeleton-directory-files): Use `tramp-fnac-add-trailing-slash'.
(tramp-handle-file-name-completion): Use `seq-difference'.
(tramp-handle-make-process): Handle "%w" format specifier.

* test/lisp/net/tramp-tests.el (tramp-test26-file-name-completion)
(tramp-test32-shell-command, tramp-test36-vc-registered): Adapt tests.
2026-03-28 10:03:22 +01:00
Eli Zaretskii
5ec2940e38 ; Another fix fore dired-tests.el 2026-03-28 09:32:27 +03:00
Eli Zaretskii
d5a3a43745 ; Fix last change in dired-tests.el. 2026-03-28 09:29:56 +03:00
Eli Zaretskii
af0f9b3188 ; Fix files-tests and dired-tests on MS-Windows
* test/lisp/files-tests.el
(files-tests-file-name-non-special-insert-directory): Fix for
MS-Windows and MS-DOS.
* test/lisp/dired-tests.el (dired-test-filename-with-newline-1)
(dired-test-filename-with-newline-2): Skip on MS-Windows/DOS.
Remove unused variable 'end'.
(dired-test-ls-error-message): Special testing for MS-Windows and
MS-DOS when they use 'ls-lisp'.
(Bug#80499)
2026-03-28 09:18:38 +03:00
Stephen Berman
3b7d9e37ce Implement new Dired handling of errors from 'ls'
The error messages are now displayed in a popped up buffer instead
of being output in the Dired buffer and signalling an error.  The
file name bounds in Dired entries are now determined solely by the
offsets calculated by 'ls' with the --dired option and
consequently Dired now reliably recognizes file names that contain
a newline (bug#80499).

* etc/NEWS: Announce new Dired handling of errors from 'ls'.

* lisp/dired.el (dired-internal-noselect): Check Dired buffer for
file entries and if there are none kill the buffer to prevent
displaying a Dired buffer with no file entries.
(dired--ls-error-buffer): New variable.
(dired--display-ls-error): New function.
(dired, dired-other-window, dired-other-frame, dired-other-tab):
Use it to pop up buffer with error message emitted by 'ls'.

* lisp/files.el (insert-directory-clean): Remove the code that
treats lines beginning at column 0 in a Dired buffer as error
lines and consequently also remove the code using these lines to
adjust the offsets specifying the bounds of the file name in the
Dired entries.  If the buffer contains a //DIRED-OPTIONS// line
output by --dired, delete this line even when it is at BOB.
(insert-directory): Remove the code that checks the return value
of 'ls' and signals an error based on that value.  Write any error
message emitted by 'ls' to a temporary file and insert its content
into a buffer, which will be popped when invoking a Dired command
results in the 'ls' error.  Adjust the comment above this function
to accommodate file names containing a newline in Dired entries.
(insert-directory-adj-pos): Remove this now unused function.

* test/lisp/dired-tests.el (dired-test-filename-with-newline-1)
(dired-test-filename-with-newline-2)
(dired-test-ls-error-message): New tests.

* test/lisp/files-tests.el
(files-tests-file-name-non-special-insert-directory): Adjust test
to use of 'ls' error buffer instead of signaling an error.
2026-03-27 16:36:16 +01:00
Basil L. Contovounesios
d780007283 Add predicate for initial_terminal
This introduces the predicate frame-initial-p, which uses
struct frame.output_method or struct terminal.type to detect
initial_terminal without relying on its name (bug#80629).
For some prior discussion, see:
https://lists.gnu.org/r/emacs-devel/2019-12/msg00480.html
https://lists.gnu.org/r/emacs-devel/2020-01/msg00120.html

* doc/lispref/frames.texi (Frames): Document frame-initial-p.
(Finding All Frames): Fix grammar.
* etc/NEWS (Lisp Changes in Emacs 31.1): Announce frame-initial-p.
* lisp/desktop.el (desktop--check-dont-save):
* lisp/emacs-lisp/debug.el (debug):
* lisp/frameset.el (frameset-restore):
* lisp/menu-bar.el (menu-bar-update-buffers):
* lisp/xt-mouse.el (turn-on-xterm-mouse-tracking-on-terminal):
Use frame-initial-p instead of checking the "initial_terminal" name.
* lisp/emacs-lisp/byte-opt.el: Mark frame-initial-p as error-free.

* src/pgtkterm.c (pgtk_focus_changed): Use IS_DAEMON in place of
Fdaemonp, thus also accepting a named daemon session.
* src/terminal.c (decode_tty_terminal): Clarify commentary.
(Fframe_initial_p): New function.
(syms_of_terminal): Expose it.
(init_initial_terminal): Update commentary now that
menu-bar-update-buffers uses frame-initial-p (bug#53740).

* test/lisp/xt-mouse-tests.el (with-xterm-mouse-mode): Simulate the
lack of an initial terminal by overriding frame-initial-p now
that turn-on-xterm-mouse-tracking-on-terminal uses it.
* test/src/terminal-tests.el: New file.
2026-03-26 15:19:56 +01:00
Basil L. Contovounesios
b5f6bc0072 Improve last change to auth-source-pass
* lisp/auth-source-pass.el (auth-source-pass-search): Remove
redundant expand-file-name.
* test/lisp/auth-source-pass-tests.el
(auth-source-pass--with-store): Bind auth-source-pass-filename to an
existing directory to satisfy the new guard in
auth-source-pass-search (bug#76323).
2026-03-26 15:05:22 +01:00
Eli Zaretskii
55c752d631 ; Fix dired-tests on MS-Windows
* test/lisp/dired-tests.el (dired-test-filename-with-backslash-n):
Skip this test on MS-Windows and MS-DOS.
2026-03-26 08:10:06 +02:00
Stephen Berman
f2b9b827c9 Fix Dired check for newlines in file names
Ensure that Dired does not treat the sequence "\\n" within a file
name as a newline (bug#80608).

* lisp/dired.el (dired--filename-with-newline-p): Rewrite using
'directory-files' with match for regexp "\n".

* test/lisp/dired-tests.el
(dired-test--filename-with-backslash-n): New function.
(dired-test-filename-with-backslash-n): New test.
2026-03-25 20:45:44 +01:00
Vincent Belaïche
ebd982db33 Check all SES local variables are always set locally. 2026-03-24 18:18:10 +01:00
Vincent Belaïche
b677a90303 Rename ses tests with prefix ses-tests-... 2026-03-24 18:18:08 +01:00
Vincent Belaïche
bb0a5dd6e7 Fix SES tests indentation.
* test/lisp/ses-tests.el (ses-jump-B2-lowcase)
(ses-jump-B2-lowcase-keys): Fix indentation.
2026-03-24 18:18:07 +01:00
F. Jason Park
7b8a38e053 Add tests for erc-track-faces-normal-list regression
* test/lisp/erc/erc-track-tests.el
(erc-track-tests--modified-channels/baseline): Update assertion to
expect an unchanged mode line segment if `erc-track-faces-normal-list'
lacks a ranked face in the latest inserted message.
(erc-track-modified-channels/baseline/nonotice)
(erc-track-modified-channels/priority-only-all/baseline/nonotice): New
tests.  (Bug#80659)
2026-03-23 18:16:31 -07:00
Sean Whitton
c9676d68a2 ; Update tests to match rename of 'any' to 'member-if'. 2026-03-23 12:23:26 +00:00
Sean Whitton
17a3f6bf99 * lisp/subr.el (member-if): Fix compiler macro multiple evaluation.
Problem reported by Pip Cet <pipcet@protonmail.com>.
2026-03-22 16:03:16 +00:00
Helmut Eller
e427d55284 * test/src/charset-tests.el (charset-tests-define-charset): New. 2026-03-21 18:42:01 +01:00
Basil L. Contovounesios
fac42338bb Make member-if compiler-macro hygienic
* lisp/subr.el (member-if): Use uninterned symbol in
compiler-macro (bug#80647).
2026-03-21 13:51:27 +01:00
Stéphane Marks
48d65afa32 vtable truncate-string-pixelwise, ellipsis can be a string (bug#80026)
Eliminate 'vtable--limit-string' in favor of the more efficient
'truncate-string-pixelwise'.  Remove extraneous pre-measurement
calls to 'string-pixel-width' and ellipsis concatenation as
'truncate-string-pixelwise' does both.
The 'make-vtable' 'ellipsis' keyword can be a string to override
the default returned by 'truncate-string-ellipsis'.

* lisp/emacs-lisp/vtable.el (vtable--ellipsis): New defun.
(vtable-insert-object, vtable--insert): Use 'vtable--ellipsis'.
(vtable--insert-line, vtable--insert-header-line): Call
'truncate-string-pixelwise' instead of 'vtable--limit-string'.
(vtable--limit-string): Remove function.

* test/lisp/emacs-lisp/vtable-tests.el
(test-vtable--limit-string-with-face-remapped-buffer): Remove
test, obsoleted by misc-test-truncate-string-pixelwise.

* doc/misc/vtable.texi: Document that :ellipsis can be a string.
2026-03-21 12:50:04 +02:00
Stefan Monnier
3ed7868f6e simple-tests.el: Use kmacro function
* test/lisp/simple-tests.el (undo-test-kill-c-a-then-undo)
(undo-test-point-after-forward-kill): Use `kmacro` function.
2026-03-20 23:19:43 -04:00
Philip Kaludercic
c852297037
; Adjust use-package tests for :vc
See https://lists.gnu.org/archive/html/emacs-devel/2026-03/msg00567.html.

* test/lisp/use-package/use-package-tests.el (use-package-test-normalize/:vc):
Drop or change expected to match change that interprets a string
argument to :vc in the same manner as 'package-vc-install.
2026-03-19 21:38:29 +01:00
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