mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-10 17:02:06 -07:00
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.
This commit is contained in:
parent
3118a8c8b1
commit
ea5f15d096
6 changed files with 19 additions and 13 deletions
|
|
@ -58,7 +58,7 @@
|
|||
|
||||
(defun url-future-finish (url-future &optional status)
|
||||
(if (url-future-done-p url-future)
|
||||
(signal 'error 'url-future-already-done)
|
||||
(signal 'error '(url-future-already-done))
|
||||
(setf (url-future-status url-future) (or status t))
|
||||
;; the status must be such that the future was completed
|
||||
;; to run the callback
|
||||
|
|
@ -69,7 +69,7 @@
|
|||
|
||||
(defun url-future-errored (url-future errorcons)
|
||||
(if (url-future-done-p url-future)
|
||||
(signal 'error 'url-future-already-done)
|
||||
(signal 'error '(url-future-already-done))
|
||||
(setf (url-future-status url-future) 'error)
|
||||
(setf (url-future-value url-future) errorcons)
|
||||
(funcall (or (url-future-errorback url-future) 'ignore)
|
||||
|
|
@ -77,7 +77,7 @@
|
|||
|
||||
(defun url-future-call (url-future)
|
||||
(if (url-future-done-p url-future)
|
||||
(signal 'error 'url-future-already-done)
|
||||
(signal 'error '(url-future-already-done))
|
||||
(let ((ff (url-future-value url-future)))
|
||||
(when (functionp ff)
|
||||
(condition-case catcher
|
||||
|
|
@ -93,7 +93,7 @@
|
|||
|
||||
(defun url-future-cancel (url-future)
|
||||
(if (url-future-done-p url-future)
|
||||
(signal 'error 'url-future-already-done)
|
||||
(signal 'error '(url-future-already-done))
|
||||
(url-future-finish url-future 'cancel)))
|
||||
|
||||
(define-obsolete-function-alias 'url-future-cancelled-p
|
||||
|
|
|
|||
|
|
@ -708,7 +708,7 @@ print_bind_overrides (Lisp_Object overrides)
|
|||
if (EQ (overrides, Qt))
|
||||
print_bind_all_defaults ();
|
||||
else if (!CONSP (overrides))
|
||||
xsignal (Qwrong_type_argument, Qconsp);
|
||||
xsignal2 (Qwrong_type_argument, Qconsp, overrides);
|
||||
else
|
||||
{
|
||||
while (!NILP (overrides))
|
||||
|
|
@ -717,7 +717,7 @@ print_bind_overrides (Lisp_Object overrides)
|
|||
if (EQ (setting, Qt))
|
||||
print_bind_all_defaults ();
|
||||
else if (!CONSP (setting))
|
||||
xsignal (Qwrong_type_argument, Qconsp);
|
||||
xsignal2 (Qwrong_type_argument, Qconsp, setting);
|
||||
else
|
||||
{
|
||||
Lisp_Object key = XCAR (setting),
|
||||
|
|
@ -729,7 +729,7 @@ print_bind_overrides (Lisp_Object overrides)
|
|||
}
|
||||
|
||||
if (!NILP (XCDR (overrides)) && !CONSP (XCDR (overrides)))
|
||||
xsignal (Qwrong_type_argument, Qconsp);
|
||||
xsignal2 (Qwrong_type_argument, Qconsp, overrides);
|
||||
overrides = XCDR (overrides);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1892,7 +1892,7 @@ Ensure that the issues from bug#66546 are fixed."
|
|||
(error err))
|
||||
'missing))
|
||||
(signal-write-failed (&rest _)
|
||||
(signal 'file-error "Write failed")))
|
||||
(signal 'file-error '("Write failed"))))
|
||||
|
||||
(let* (;; Sanitize environment.
|
||||
;; The tests below test text for equality, so we need to
|
||||
|
|
|
|||
|
|
@ -114,8 +114,14 @@ Fmod_test_signal (emacs_env *env, ptrdiff_t nargs, emacs_value args[],
|
|||
void *data)
|
||||
{
|
||||
assert (env->non_local_exit_check (env) == emacs_funcall_exit_return);
|
||||
env->non_local_exit_signal (env, env->intern (env, "error"),
|
||||
env->make_integer (env, 56));
|
||||
emacs_value cargs[2] = {
|
||||
env->make_integer (env, 56),
|
||||
env->intern (env, "nil")
|
||||
};
|
||||
env->non_local_exit_signal (
|
||||
env, env->intern (env, "error"),
|
||||
env->funcall (env, env->intern (env, "cons"),
|
||||
2, cargs));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ changes."
|
|||
(setq handler-err err
|
||||
backtrace (with-output-to-string (backtrace))))))
|
||||
(mod-test-signal)))
|
||||
(should (equal handler-err '(error . 56)))
|
||||
(should (equal handler-err '(error 56)))
|
||||
(should (string-match-p
|
||||
(rx bol " mod-test-signal()" eol)
|
||||
backtrace))))
|
||||
|
|
|
|||
|
|
@ -122,10 +122,10 @@
|
|||
(skip-unless (featurep 'threads))
|
||||
(let ((thread (make-thread #'threads-thread-sleeps))
|
||||
err)
|
||||
(thread-signal thread 'error "Error signal for thread")
|
||||
(thread-signal thread 'error '("Error signal for thread"))
|
||||
(thread-yield)
|
||||
(setq err (should-error (thread-join thread)))
|
||||
(should (equal err '(error . "Error signal for thread")))))
|
||||
(should (equal err '(error "Error signal for thread")))))
|
||||
|
||||
(defvar threads-test-binding nil)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue