diff options
| author | Stefan Monnier | 2026-03-08 23:26:58 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2026-03-10 00:13:31 -0400 |
| commit | ea5f15d09642435ecb645fc5dc7b84cc047ba8e6 (patch) | |
| tree | d007e08c463aaa3a9743ad81c567f760f0e1db8d /test/src | |
| parent | 3118a8c8b1a8d1a77de80da4b03c51c199c202f8 (diff) | |
| download | emacs-ea5f15d09642435ecb645fc5dc7b84cc047ba8e6.tar.gz emacs-ea5f15d09642435ecb645fc5dc7b84cc047ba8e6.zip | |
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.
Diffstat (limited to 'test/src')
| -rw-r--r-- | test/src/emacs-module-resources/mod-test.c | 10 | ||||
| -rw-r--r-- | test/src/emacs-module-tests.el | 2 | ||||
| -rw-r--r-- | test/src/thread-tests.el | 4 |
3 files changed, 11 insertions, 5 deletions
diff --git a/test/src/emacs-module-resources/mod-test.c b/test/src/emacs-module-resources/mod-test.c index d44af0e4d81..a5aeda0a666 100644 --- a/test/src/emacs-module-resources/mod-test.c +++ b/test/src/emacs-module-resources/mod-test.c | |||
| @@ -114,8 +114,14 @@ Fmod_test_signal (emacs_env *env, ptrdiff_t nargs, emacs_value args[], | |||
| 114 | void *data) | 114 | void *data) |
| 115 | { | 115 | { |
| 116 | assert (env->non_local_exit_check (env) == emacs_funcall_exit_return); | 116 | assert (env->non_local_exit_check (env) == emacs_funcall_exit_return); |
| 117 | env->non_local_exit_signal (env, env->intern (env, "error"), | 117 | emacs_value cargs[2] = { |
| 118 | env->make_integer (env, 56)); | 118 | env->make_integer (env, 56), |
| 119 | env->intern (env, "nil") | ||
| 120 | }; | ||
| 121 | env->non_local_exit_signal ( | ||
| 122 | env, env->intern (env, "error"), | ||
| 123 | env->funcall (env, env->intern (env, "cons"), | ||
| 124 | 2, cargs)); | ||
| 119 | return NULL; | 125 | return NULL; |
| 120 | } | 126 | } |
| 121 | 127 | ||
diff --git a/test/src/emacs-module-tests.el b/test/src/emacs-module-tests.el index e34db70feb6..d2ec127f878 100644 --- a/test/src/emacs-module-tests.el +++ b/test/src/emacs-module-tests.el | |||
| @@ -121,7 +121,7 @@ changes." | |||
| 121 | (setq handler-err err | 121 | (setq handler-err err |
| 122 | backtrace (with-output-to-string (backtrace)))))) | 122 | backtrace (with-output-to-string (backtrace)))))) |
| 123 | (mod-test-signal))) | 123 | (mod-test-signal))) |
| 124 | (should (equal handler-err '(error . 56))) | 124 | (should (equal handler-err '(error 56))) |
| 125 | (should (string-match-p | 125 | (should (string-match-p |
| 126 | (rx bol " mod-test-signal()" eol) | 126 | (rx bol " mod-test-signal()" eol) |
| 127 | backtrace)))) | 127 | backtrace)))) |
diff --git a/test/src/thread-tests.el b/test/src/thread-tests.el index 9cbe1f3a1aa..c575f13b488 100644 --- a/test/src/thread-tests.el +++ b/test/src/thread-tests.el | |||
| @@ -122,10 +122,10 @@ | |||
| 122 | (skip-unless (featurep 'threads)) | 122 | (skip-unless (featurep 'threads)) |
| 123 | (let ((thread (make-thread #'threads-thread-sleeps)) | 123 | (let ((thread (make-thread #'threads-thread-sleeps)) |
| 124 | err) | 124 | err) |
| 125 | (thread-signal thread 'error "Error signal for thread") | 125 | (thread-signal thread 'error '("Error signal for thread")) |
| 126 | (thread-yield) | 126 | (thread-yield) |
| 127 | (setq err (should-error (thread-join thread))) | 127 | (setq err (should-error (thread-join thread))) |
| 128 | (should (equal err '(error . "Error signal for thread"))))) | 128 | (should (equal err '(error "Error signal for thread"))))) |
| 129 | 129 | ||
| 130 | (defvar threads-test-binding nil) | 130 | (defvar threads-test-binding nil) |
| 131 | 131 | ||