aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2026-03-09 10:34:05 -0400
committerStefan Monnier2026-03-10 10:48:22 -0400
commit9348c19b8250cd885a0bac8b2e97b93127ac8e61 (patch)
tree682aeb45dae91f89f09e8ef36b40cf36dd4518d3
parent08e109d45a31af5c605c9580e55781562dedcc30 (diff)
downloademacs-9348c19b8250cd885a0bac8b2e97b93127ac8e61.tar.gz
emacs-9348c19b8250cd885a0bac8b2e97b93127ac8e61.zip
Use single-arg form of `signal` to re-throw an error
* lisp/vc/smerge-mode.el (smerge-extend): * lisp/vc/diff-mode.el (diff-beginning-of-file-and-junk): * lisp/transient.el (transient--with-emergency-exit): * lisp/textmodes/tex-mode.el (latex-forward-sexp): * lisp/tar-mode.el (tar-mode): * lisp/savehist.el (savehist--reload): * lisp/progmodes/octave.el (inferior-octave-resync-dirs): * lisp/progmodes/js.el (js--re-search-forward): * lisp/plstore.el (plstore--decrypt): * lisp/net/dbus.el (dbus-ignore-errors, dbus-register-signal) (dbus-handle-event): * lisp/mouse.el (mouse-drag-track, mouse-drag-region-rectangle): * lisp/minibuffer.el (completion-pcm--find-all-completions): * lisp/mail/rfc2231.el (rfc2231-parse-string): * lisp/mail/rfc2047.el (rfc2047-encode-region): * lisp/jit-lock.el (jit-lock-fontify-now): * lisp/international/ja-dic-utl.el (skkdic-lookup-key): * lisp/gnus/nnselect.el (nnselect-generate-artlist): * lisp/gnus/mml-sec.el (mml-secure-epg-encrypt, mml-secure-epg-sign): * lisp/gnus/mail-source.el (mail-source-fetch-pop) (mail-source-check-pop): * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): * lisp/files.el (basic-save-buffer-2, files--ensure-directory) (files--force, copy-directory): * lisp/eshell/esh-io.el (eshell-output-object-to-target): * lisp/epa.el (epa-decrypt-file, epa-verify-file, epa-sign-file) (epa-encrypt-file, epa-decrypt-region, epa-verify-region) (epa-sign-region, epa-encrypt-region, epa-delete-keys) (epa-export-keys, epa-insert-keys): * lisp/emacs-lisp/package.el (package--unless-error): * lisp/emacs-lisp/multisession.el (multisession--read-file-value): * lisp/emacs-lisp/lisp.el (up-list-default-function): * lisp/desktop.el (desktop-kill): * lisp/calendar/time-date.el (date-to-time): * lisp/calendar/appt.el (appt-display-message): * lisp/calc/calc.el (calc-do): * lisp/bookmark.el (bookmark-handle-bookmark): * src/fileio.c (report_file_errno): * lisp/vc/vc.el (vc-checkout, vc-pull): Use `(signal err)` instead of `(signal (car err) (cdr err))`.
-rw-r--r--lisp/bookmark.el2
-rw-r--r--lisp/calc/calc.el2
-rw-r--r--lisp/calendar/appt.el2
-rw-r--r--lisp/calendar/time-date.el2
-rw-r--r--lisp/desktop.el2
-rw-r--r--lisp/emacs-lisp/lisp.el2
-rw-r--r--lisp/emacs-lisp/multisession.el2
-rw-r--r--lisp/emacs-lisp/package.el3
-rw-r--r--lisp/epa.el22
-rw-r--r--lisp/eshell/esh-io.el2
-rw-r--r--lisp/files.el8
-rw-r--r--lisp/gnus/gnus-art.el2
-rw-r--r--lisp/gnus/mail-source.el4
-rw-r--r--lisp/gnus/mml-sec.el4
-rw-r--r--lisp/gnus/nnselect.el3
-rw-r--r--lisp/international/ja-dic-utl.el2
-rw-r--r--lisp/jit-lock.el2
-rw-r--r--lisp/mail/rfc2047.el2
-rw-r--r--lisp/mail/rfc2231.el2
-rw-r--r--lisp/minibuffer.el2
-rw-r--r--lisp/mouse.el4
-rw-r--r--lisp/net/dbus.el6
-rw-r--r--lisp/plstore.el2
-rw-r--r--lisp/progmodes/js.el2
-rw-r--r--lisp/progmodes/octave.el2
-rw-r--r--lisp/savehist.el2
-rw-r--r--lisp/tar-mode.el2
-rw-r--r--lisp/textmodes/tex-mode.el2
-rw-r--r--lisp/transient.el2
-rw-r--r--lisp/vc/diff-mode.el2
-rw-r--r--lisp/vc/smerge-mode.el2
-rw-r--r--lisp/vc/vc.el4
-rw-r--r--src/fileio.c3
33 files changed, 52 insertions, 55 deletions
diff --git a/lisp/bookmark.el b/lisp/bookmark.el
index c75a8d33da3..1113144f87a 100644
--- a/lisp/bookmark.el
+++ b/lisp/bookmark.el
@@ -1381,7 +1381,7 @@ then offer interactively to relocate BOOKMARK-NAME-OR-RECORD."
1381 (message 1381 (message
1382 "Bookmark not relocated; consider removing it (%s)." 1382 "Bookmark not relocated; consider removing it (%s)."
1383 bookmark-name-or-record) 1383 bookmark-name-or-record)
1384 (signal (car err) (cdr err)))))))))) 1384 (signal err)))))))))
1385 ;; Added by db. 1385 ;; Added by db.
1386 (when (stringp bookmark-name-or-record) 1386 (when (stringp bookmark-name-or-record)
1387 (setq bookmark-current-bookmark bookmark-name-or-record)) 1387 (setq bookmark-current-bookmark bookmark-name-or-record))
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el
index 6a23f860123..98bf1e4c2a4 100644
--- a/lisp/calc/calc.el
+++ b/lisp/calc/calc.el
@@ -1688,7 +1688,7 @@ See calc-keypad for details."
1688 (error (substitute-command-keys 1688 (error (substitute-command-keys
1689 "Computation got stuck or ran too long. Type \\`M' to increase the limit")) 1689 "Computation got stuck or ran too long. Type \\`M' to increase the limit"))
1690 (setq calc-aborted-prefix nil) 1690 (setq calc-aborted-prefix nil)
1691 (signal (car err) (cdr err))))) 1691 (signal err))))
1692 (when calc-aborted-prefix 1692 (when calc-aborted-prefix
1693 (calc-record "<Aborted>" calc-aborted-prefix)) 1693 (calc-record "<Aborted>" calc-aborted-prefix))
1694 (and calc-start-time 1694 (and calc-start-time
diff --git a/lisp/calendar/appt.el b/lisp/calendar/appt.el
index df8e28319e5..f12a51c3dc9 100644
--- a/lisp/calendar/appt.el
+++ b/lisp/calendar/appt.el
@@ -232,7 +232,7 @@ also calls `beep' for an audible reminder."
232 time string) 232 time string)
233 (wrong-type-argument 233 (wrong-type-argument
234 (if (not (listp mins)) 234 (if (not (listp mins))
235 (signal (car err) (cdr err)) 235 (signal err)
236 (message "Argtype error in `appt-disp-window-function' - \ 236 (message "Argtype error in `appt-disp-window-function' - \
237update it for multiple appts?") 237update it for multiple appts?")
238 ;; Fallback to just displaying the first appt, as we used to. 238 ;; Fallback to just displaying the first appt, as we used to.
diff --git a/lisp/calendar/time-date.el b/lisp/calendar/time-date.el
index bd1e7a88f16..83764074eec 100644
--- a/lisp/calendar/time-date.el
+++ b/lisp/calendar/time-date.el
@@ -161,7 +161,7 @@ If DATE lacks time zone information, local time is assumed."
161 (encode-time parsed)) 161 (encode-time parsed))
162 (error 162 (error
163 (if (equal err '(error "Specified time is not representable")) 163 (if (equal err '(error "Specified time is not representable"))
164 (signal (car err) (cdr err)) 164 (signal err)
165 (error "Invalid date: %s" date))))) 165 (error "Invalid date: %s" date)))))
166 166
167;;;###autoload 167;;;###autoload
diff --git a/lisp/desktop.el b/lisp/desktop.el
index df98079b1c2..f478cf2307b 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -812,7 +812,7 @@ is nil, ask the user where to save the desktop."
812 (desktop-save desktop-dirname t) 812 (desktop-save desktop-dirname t)
813 (file-error 813 (file-error
814 (unless (yes-or-no-p "Error while saving the desktop. Ignore? ") 814 (unless (yes-or-no-p "Error while saving the desktop. Ignore? ")
815 (signal (car err) (cdr err)))))) 815 (signal err)))))
816 (desktop--on-kill) 816 (desktop--on-kill)
817 t) 817 t)
818 818
diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el
index 5cbd4213028..936d5f91a06 100644
--- a/lisp/emacs-lisp/lisp.el
+++ b/lisp/emacs-lisp/lisp.el
@@ -331,7 +331,7 @@ On error, location of point is unspecified."
331 (if no-syntax-crossing 331 (if no-syntax-crossing
332 ;; Assume called interactively; don't signal an error. 332 ;; Assume called interactively; don't signal an error.
333 (user-error "At top level") 333 (user-error "At top level")
334 (signal (car err) (cdr err))))))) 334 (signal err))))))
335 (setq arg (- arg inc))))) 335 (setq arg (- arg inc)))))
336 336
337(defun kill-sexp (&optional arg interactive) 337(defun kill-sexp (&optional arg interactive)
diff --git a/lisp/emacs-lisp/multisession.el b/lisp/emacs-lisp/multisession.el
index f3cc4b73338..8df3d9e4b22 100644
--- a/lisp/emacs-lisp/multisession.el
+++ b/lisp/emacs-lisp/multisession.el
@@ -295,7 +295,7 @@ DOC should be a doc string, and ARGS are keywords as applicable to
295 (setq i (1+ i) 295 (setq i (1+ i)
296 last-error err) 296 last-error err)
297 (sleep-for (+ 0.1 (/ (float (random 10)) 10)))))) 297 (sleep-for (+ 0.1 (/ (float (random 10)) 10))))))
298 (signal (car last-error) (cdr last-error))))) 298 (signal last-error))))
299 299
300(defun multisession--object-file-name (object) 300(defun multisession--object-file-name (object)
301 (expand-file-name 301 (expand-file-name
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index c30f7758df4..706614e9df1 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1219,8 +1219,7 @@ errors signaled by ERROR-FORM or by BODY).
1219 (when (condition-case ,err 1219 (when (condition-case ,err
1220 (progn ,@before-body t) 1220 (progn ,@before-body t)
1221 (error (funcall error-function) 1221 (error (funcall error-function)
1222 (unless noerror 1222 (unless noerror (signal ,err))))
1223 (signal (car ,err) (cdr ,err)))))
1224 (funcall ,body))))) 1223 (funcall ,body)))))
1225 1224
1226(cl-defun package--with-response-buffer-1 (url body &key async file error-function noerror &allow-other-keys) 1225(cl-defun package--with-response-buffer-1 (url body &key async file error-function noerror &allow-other-keys)
diff --git a/lisp/epa.el b/lisp/epa.el
index 8d3315891b4..09208a0a3cc 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -702,7 +702,7 @@ If you do not specify PLAIN-FILE, this functions prompts for the value to use."
702 (epg-decrypt-file context decrypt-file plain-file) 702 (epg-decrypt-file context decrypt-file plain-file)
703 (error 703 (error
704 (epa-display-error context) 704 (epa-display-error context)
705 (signal (car error) (cdr error)))) 705 (signal error)))
706 (message "Decrypting %s...wrote %s" (file-name-nondirectory decrypt-file) 706 (message "Decrypting %s...wrote %s" (file-name-nondirectory decrypt-file)
707 (file-name-nondirectory plain-file)) 707 (file-name-nondirectory plain-file))
708 (if (epg-context-result-for context 'verify) 708 (if (epg-context-result-for context 'verify)
@@ -727,7 +727,7 @@ If you do not specify PLAIN-FILE, this functions prompts for the value to use."
727 (epg-verify-file context file plain) 727 (epg-verify-file context file plain)
728 (error 728 (error
729 (epa-display-error context) 729 (epa-display-error context)
730 (signal (car error) (cdr error)))) 730 (signal error)))
731 (message "Verifying %s...done" (file-name-nondirectory file)) 731 (message "Verifying %s...done" (file-name-nondirectory file))
732 (if (epg-context-result-for context 'verify) 732 (if (epg-context-result-for context 'verify)
733 (epa-display-info (epg-verify-result-to-string 733 (epa-display-info (epg-verify-result-to-string
@@ -798,7 +798,7 @@ If no one is selected, default secret key is used. "
798 (epg-sign-file context file signature mode) 798 (epg-sign-file context file signature mode)
799 (error 799 (error
800 (epa-display-error context) 800 (epa-display-error context)
801 (signal (car error) (cdr error)))) 801 (signal error)))
802 (message "Signing %s...wrote %s" (file-name-nondirectory file) 802 (message "Signing %s...wrote %s" (file-name-nondirectory file)
803 (file-name-nondirectory signature)))) 803 (file-name-nondirectory signature))))
804 804
@@ -828,7 +828,7 @@ If no one is selected, symmetric encryption will be performed. ")))
828 (epg-encrypt-file context file recipients cipher) 828 (epg-encrypt-file context file recipients cipher)
829 (error 829 (error
830 (epa-display-error context) 830 (epa-display-error context)
831 (signal (car error) (cdr error)))) 831 (signal error)))
832 (message "Encrypting %s...wrote %s" (file-name-nondirectory file) 832 (message "Encrypting %s...wrote %s" (file-name-nondirectory file)
833 (file-name-nondirectory cipher)))) 833 (file-name-nondirectory cipher))))
834 834
@@ -870,7 +870,7 @@ For example:
870 (setq plain (epg-decrypt-string context (buffer-substring start end))) 870 (setq plain (epg-decrypt-string context (buffer-substring start end)))
871 (error 871 (error
872 (epa-display-error context) 872 (epa-display-error context)
873 (signal (car error) (cdr error)))) 873 (signal error)))
874 (message "Decrypting...done") 874 (message "Decrypting...done")
875 (setq plain (decode-coding-string 875 (setq plain (decode-coding-string
876 plain 876 plain
@@ -969,7 +969,7 @@ For example:
969 (get-text-property start 'epa-coding-system-used))))) 969 (get-text-property start 'epa-coding-system-used)))))
970 (error 970 (error
971 (epa-display-error context) 971 (epa-display-error context)
972 (signal (car error) (cdr error)))) 972 (signal error)))
973 (message "Verifying...done") 973 (message "Verifying...done")
974 (setq plain (decode-coding-string 974 (setq plain (decode-coding-string
975 plain 975 plain
@@ -1077,7 +1077,7 @@ If no one is selected, default secret key is used. "
1077 mode)) 1077 mode))
1078 (error 1078 (error
1079 (epa-display-error context) 1079 (epa-display-error context)
1080 (signal (car error) (cdr error)))) 1080 (signal error)))
1081 (message "Signing...done") 1081 (message "Signing...done")
1082 (delete-region start end) 1082 (delete-region start end)
1083 (goto-char start) 1083 (goto-char start)
@@ -1155,7 +1155,7 @@ If no one is selected, symmetric encryption will be performed. ")
1155 sign)) 1155 sign))
1156 (error 1156 (error
1157 (epa-display-error context) 1157 (epa-display-error context)
1158 (signal (car error) (cdr error)))) 1158 (signal error)))
1159 (message "Encrypting...done") 1159 (message "Encrypting...done")
1160 (delete-region start end) 1160 (delete-region start end)
1161 (goto-char start) 1161 (goto-char start)
@@ -1185,7 +1185,7 @@ If no one is selected, symmetric encryption will be performed. ")
1185 (epg-delete-keys context keys allow-secret) 1185 (epg-delete-keys context keys allow-secret)
1186 (error 1186 (error
1187 (epa-display-error context) 1187 (epa-display-error context)
1188 (signal (car error) (cdr error)))) 1188 (signal error)))
1189 (message "Deleting...done") 1189 (message "Deleting...done")
1190 (apply #'epa--list-keys epa-list-keys-arguments))) 1190 (apply #'epa--list-keys epa-list-keys-arguments)))
1191 1191
@@ -1273,7 +1273,7 @@ If no one is selected, symmetric encryption will be performed. ")
1273 (epg-export-keys-to-file context keys file) 1273 (epg-export-keys-to-file context keys file)
1274 (error 1274 (error
1275 (epa-display-error context) 1275 (epa-display-error context)
1276 (signal (car error) (cdr error)))) 1276 (signal error)))
1277 (message "Exporting to %s...done" (file-name-nondirectory file)))) 1277 (message "Exporting to %s...done" (file-name-nondirectory file))))
1278 1278
1279;;;###autoload 1279;;;###autoload
@@ -1290,7 +1290,7 @@ If no one is selected, default public key is exported. ")))
1290 (insert (epg-export-keys-to-string context keys)) 1290 (insert (epg-export-keys-to-string context keys))
1291 (error 1291 (error
1292 (epa-display-error context) 1292 (epa-display-error context)
1293 (signal (car error) (cdr error)))))) 1293 (signal error)))))
1294 1294
1295(provide 'epa) 1295(provide 'epa)
1296 1296
diff --git a/lisp/eshell/esh-io.el b/lisp/eshell/esh-io.el
index 7c0b878e3cf..ea7dbb2e122 100644
--- a/lisp/eshell/esh-io.el
+++ b/lisp/eshell/esh-io.el
@@ -751,7 +751,7 @@ Returns what was actually sent, or nil if nothing was sent.")
751 ;; here. Maybe `process-send-string' should handle SIGPIPE even 751 ;; here. Maybe `process-send-string' should handle SIGPIPE even
752 ;; in batch mode (bug#66186). 752 ;; in batch mode (bug#66186).
753 (if (process-live-p target) 753 (if (process-live-p target)
754 (signal (car err) (cdr err)) 754 (signal err)
755 (signal 'eshell-pipe-broken (list target))))) 755 (signal 'eshell-pipe-broken (list target)))))
756 object) 756 object)
757 757
diff --git a/lisp/files.el b/lisp/files.el
index edbeb43e9b9..54d21a8a5be 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -6276,7 +6276,7 @@ Before and after saving the buffer, this function runs
6276 (when save-silently (message nil))) 6276 (when save-silently (message nil)))
6277 ;; If we failed, restore the buffer's modtime. 6277 ;; If we failed, restore the buffer's modtime.
6278 (error (set-visited-file-modtime old-modtime) 6278 (error (set-visited-file-modtime old-modtime)
6279 (signal (car err) (cdr err)))) 6279 (signal err)))
6280 ;; Since we have created an entirely new file, 6280 ;; Since we have created an entirely new file,
6281 ;; make sure it gets the right permission bits set. 6281 ;; make sure it gets the right permission bits set.
6282 (setq setmodes 6282 (setq setmodes
@@ -6680,7 +6680,7 @@ Return non-nil if DIR is already a directory."
6680 (make-directory-internal dir) 6680 (make-directory-internal dir)
6681 (error 6681 (error
6682 (or (file-directory-p dir) 6682 (or (file-directory-p dir)
6683 (signal (car err) (cdr err)))))) 6683 (signal err)))))
6684 6684
6685(defun make-directory (dir &optional parents) 6685(defun make-directory (dir &optional parents)
6686 "Create the directory DIR and optionally any nonexistent parent dirs. 6686 "Create the directory DIR and optionally any nonexistent parent dirs.
@@ -6753,7 +6753,7 @@ This acts like (apply FN ARGS) except it returns NO-SUCH if it is
6753non-nil and if FN fails due to a missing file or directory." 6753non-nil and if FN fails due to a missing file or directory."
6754 (condition-case err 6754 (condition-case err
6755 (apply fn args) 6755 (apply fn args)
6756 (file-missing (or no-such (signal (car err) (cdr err)))))) 6756 (file-missing (or no-such (signal err)))))
6757 6757
6758(defun delete-file (filename &optional trash) 6758(defun delete-file (filename &optional trash)
6759 "Delete file named FILENAME. If it is a symlink, remove the symlink. 6759 "Delete file named FILENAME. If it is a symlink, remove the symlink.
@@ -6994,7 +6994,7 @@ into NEWNAME instead."
6994 (make-directory (directory-file-name newname) parents) 6994 (make-directory (directory-file-name newname) parents)
6995 (error 6995 (error
6996 (or (file-directory-p newname) 6996 (or (file-directory-p newname)
6997 (signal (car err) (cdr err))))))) 6997 (signal err))))))
6998 6998
6999 ;; Copy recursively. 6999 ;; Copy recursively.
7000 (dolist (file 7000 (dolist (file
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 56473f81f06..301dec87cf7 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -6946,7 +6946,7 @@ not have a face in `gnus-article-boring-faces'."
6946 (set-window-hscroll win new-sum-hscroll)))) 6946 (set-window-hscroll win new-sum-hscroll))))
6947 (set-window-configuration owin) 6947 (set-window-configuration owin)
6948 (if err 6948 (if err
6949 (signal (car err) (cdr err)) 6949 (signal err)
6950 (ding)))))))) 6950 (ding))))))))
6951 6951
6952(defun gnus-article-read-summary-send-keys () 6952(defun gnus-article-read-summary-send-keys ()
diff --git a/lisp/gnus/mail-source.el b/lisp/gnus/mail-source.el
index bc1c7272283..a1e954d5367 100644
--- a/lisp/gnus/mail-source.el
+++ b/lisp/gnus/mail-source.el
@@ -831,7 +831,7 @@ Deleting old (> %s day(s)) incoming mail file `%s'." diff bfile)
831 (setq mail-source-password-cache 831 (setq mail-source-password-cache
832 (delq (assoc from mail-source-password-cache) 832 (delq (assoc from mail-source-password-cache)
833 mail-source-password-cache)) 833 mail-source-password-cache))
834 (signal (car err) (cdr err))))))))) 834 (signal err))))))))
835 (if result 835 (if result
836 (progn 836 (progn
837 (when (eq authentication 'password) 837 (when (eq authentication 'password)
@@ -896,7 +896,7 @@ Deleting old (> %s day(s)) incoming mail file `%s'." diff bfile)
896 (setq mail-source-password-cache 896 (setq mail-source-password-cache
897 (delq (assoc from mail-source-password-cache) 897 (delq (assoc from mail-source-password-cache)
898 mail-source-password-cache)) 898 mail-source-password-cache))
899 (signal (car err) (cdr err))))))))) 899 (signal err))))))))
900 (if result 900 (if result
901 ;; Inform display-time that we have new mail. 901 ;; Inform display-time that we have new mail.
902 (setq mail-source-new-mail-available (> result 0)) 902 (setq mail-source-new-mail-available (> result 0))
diff --git a/lisp/gnus/mml-sec.el b/lisp/gnus/mml-sec.el
index 700a99fe5d8..85b7d3a879c 100644
--- a/lisp/gnus/mml-sec.el
+++ b/lisp/gnus/mml-sec.el
@@ -939,7 +939,7 @@ If no one is selected, symmetric encryption will be performed. "
939 mml-secure-secret-key-id-list nil) 939 mml-secure-secret-key-id-list nil)
940 (error 940 (error
941 (mml-secure-clear-secret-key-id-list) 941 (mml-secure-clear-secret-key-id-list)
942 (signal (car error) (cdr error)))) 942 (signal error)))
943 cipher)) 943 cipher))
944 944
945(defun mml-secure-sender-sign-query (protocol sender) 945(defun mml-secure-sender-sign-query (protocol sender)
@@ -1029,7 +1029,7 @@ Returns non-nil if the user has chosen to use SENDER."
1029 mml-secure-secret-key-id-list nil) 1029 mml-secure-secret-key-id-list nil)
1030 (error 1030 (error
1031 (mml-secure-clear-secret-key-id-list) 1031 (mml-secure-clear-secret-key-id-list)
1032 (signal (car error) (cdr error)))) 1032 (signal error)))
1033 (if (epg-context-result-for context 'sign) 1033 (if (epg-context-result-for context 'sign)
1034 (setq micalg (epg-new-signature-digest-algorithm 1034 (setq micalg (epg-new-signature-digest-algorithm
1035 (car (epg-context-result-for context 'sign))))) 1035 (car (epg-context-result-for context 'sign)))))
diff --git a/lisp/gnus/nnselect.el b/lisp/gnus/nnselect.el
index b90a6c8b235..71bac870aca 100644
--- a/lisp/gnus/nnselect.el
+++ b/lisp/gnus/nnselect.el
@@ -346,8 +346,7 @@ group info."
346 gnus-newsgroup-selection)) 346 gnus-newsgroup-selection))
347 ;; Don't swallow gnus-search errors; the user should be made 347 ;; Don't swallow gnus-search errors; the user should be made
348 ;; aware of them. 348 ;; aware of them.
349 (gnus-search-error 349 (gnus-search-error (signal err))
350 (signal (car err) (cdr err)))
351 (error 350 (error
352 (gnus-error 351 (gnus-error
353 3 352 3
diff --git a/lisp/international/ja-dic-utl.el b/lisp/international/ja-dic-utl.el
index 3f6500669a4..66e402c12db 100644
--- a/lisp/international/ja-dic-utl.el
+++ b/lisp/international/ja-dic-utl.el
@@ -115,7 +115,7 @@ The library `ja-dic' can't be loaded.
115This might indicate a problem with your Emacs installation, as 115This might indicate a problem with your Emacs installation, as
116LEIM (Libraries of Emacs Input Method) should normally always be 116LEIM (Libraries of Emacs Input Method) should normally always be
117installed together with Emacs."))) 117installed together with Emacs.")))
118 (signal (car err) (cdr err))))) 118 (signal err))))
119 119
120 (let ((vec (make-vector len 0)) 120 (let ((vec (make-vector len 0))
121 (i 0) 121 (i 0)
diff --git a/lisp/jit-lock.el b/lisp/jit-lock.el
index d78c1d03deb..ac692340e74 100644
--- a/lisp/jit-lock.el
+++ b/lisp/jit-lock.el
@@ -449,7 +449,7 @@ Defaults to the whole buffer. END can be out of bounds."
449 ;; on-the-fly jit-locking), make sure the fontification 449 ;; on-the-fly jit-locking), make sure the fontification
450 ;; will be performed before displaying the block again. 450 ;; will be performed before displaying the block again.
451 (quit (put-text-property start next 'fontified nil) 451 (quit (put-text-property start next 'fontified nil)
452 (signal (car err) (cdr err)))))) 452 (signal err)))))
453 453
454 ;; In case we fontified more than requested, take 454 ;; In case we fontified more than requested, take
455 ;; advantage of the good news. 455 ;; advantage of the good news.
diff --git a/lisp/mail/rfc2047.el b/lisp/mail/rfc2047.el
index a48b876443b..3961c2a1e25 100644
--- a/lisp/mail/rfc2047.el
+++ b/lisp/mail/rfc2047.el
@@ -543,7 +543,7 @@ Dynamically bind `rfc2047-encoding-type' to change that."
543 (setq last-encoded nil))))) 543 (setq last-encoded nil)))))
544 (error 544 (error
545 (if (or debug-on-quit debug-on-error) 545 (if (or debug-on-quit debug-on-error)
546 (signal (car err) (cdr err)) 546 (signal err)
547 (error "Invalid data for rfc2047 encoding: %s" 547 (error "Invalid data for rfc2047 encoding: %s"
548 (replace-regexp-in-string "[ \t\n]+" " " orig-text)))))))) 548 (replace-regexp-in-string "[ \t\n]+" " " orig-text))))))))
549 (unless dont-fold 549 (unless dont-fold
diff --git a/lisp/mail/rfc2231.el b/lisp/mail/rfc2231.el
index d096176a9b1..70f73018674 100644
--- a/lisp/mail/rfc2231.el
+++ b/lisp/mail/rfc2231.el
@@ -176,7 +176,7 @@ must never cause a Lisp error."
176 (error 176 (error
177 (setq parameters nil) 177 (setq parameters nil)
178 (when signal-error 178 (when signal-error
179 (signal (car err) (cdr err))))) 179 (signal err))))
180 180
181 ;; Now collect and concatenate continuation parameters. 181 ;; Now collect and concatenate continuation parameters.
182 (let ((cparams nil) 182 (let ((cparams nil)
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 1ac83134dbe..13d0e712821 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -4634,7 +4634,7 @@ filter out additional entries (because TABLE might not obey PRED)."
4634 (if between (list between)) pattern)) 4634 (if between (list between)) pattern))
4635 (setq prefix subprefix))) 4635 (setq prefix subprefix)))
4636 (if (and (null all) firsterror) 4636 (if (and (null all) firsterror)
4637 (signal (car firsterror) (cdr firsterror)) 4637 (signal firsterror)
4638 (list pattern all prefix suffix))))) 4638 (list pattern all prefix suffix)))))
4639 4639
4640(defun completion-pcm-all-completions (string table pred point) 4640(defun completion-pcm-all-completions (string table pred point)
diff --git a/lisp/mouse.el b/lisp/mouse.el
index a6d553b60a1..24fe57cdc50 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -2025,7 +2025,7 @@ The region will be defined with mark and point."
2025 (pop-mark))))) 2025 (pop-mark)))))
2026 ;; Cleanup on errors 2026 ;; Cleanup on errors
2027 (error (funcall cleanup) 2027 (error (funcall cleanup)
2028 (signal (car err) (cdr err)))))) 2028 (signal err)))))
2029 2029
2030(defun mouse--drag-set-mark-and-point (start click click-count) 2030(defun mouse--drag-set-mark-and-point (start click click-count)
2031 (let* ((range (mouse-start-end start click click-count)) 2031 (let* ((range (mouse-start-end start click click-count))
@@ -2790,7 +2790,7 @@ This must be bound to a button-down mouse event."
2790 ;; Clean up in case something went wrong. 2790 ;; Clean up in case something went wrong.
2791 (error (setq track-mouse old-track-mouse) 2791 (error (setq track-mouse old-track-mouse)
2792 (setq mouse-fine-grained-tracking old-mouse-fine-grained-tracking) 2792 (setq mouse-fine-grained-tracking old-mouse-fine-grained-tracking)
2793 (signal (car err) (cdr err)))))) 2793 (signal err)))))
2794 2794
2795;; The drag event must be bound to something but does not need any effect, 2795;; The drag event must be bound to something but does not need any effect,
2796;; as everything takes place in `mouse-drag-region-rectangle'. 2796;; as everything takes place in `mouse-drag-region-rectangle'.
diff --git a/lisp/net/dbus.el b/lisp/net/dbus.el
index 7c92980e5a9..0c748e76fcf 100644
--- a/lisp/net/dbus.el
+++ b/lisp/net/dbus.el
@@ -245,7 +245,7 @@ Otherwise, return result of last form in BODY, or all other errors."
245 (declare (indent 0) (debug t)) 245 (declare (indent 0) (debug t))
246 `(condition-case err 246 `(condition-case err
247 (progn ,@body) 247 (progn ,@body)
248 (dbus-error (when dbus-debug (signal (car err) (cdr err)))))) 248 (dbus-error (when dbus-debug (signal err)))))
249 249
250(defvar dbus-event-error-functions 250(defvar dbus-event-error-functions
251 '(dbus-notice-synchronous-call-errors 251 '(dbus-notice-synchronous-call-errors
@@ -878,7 +878,7 @@ Example:
878 "AddMatch" rule) 878 "AddMatch" rule)
879 (dbus-error 879 (dbus-error
880 (if (not (string-match-p "eavesdrop" rule)) 880 (if (not (string-match-p "eavesdrop" rule))
881 (signal (car err) (cdr err)) 881 (signal err)
882 ;; The D-Bus spec says we shall fall back to a rule without eavesdrop. 882 ;; The D-Bus spec says we shall fall back to a rule without eavesdrop.
883 (when dbus-debug (message "Removing eavesdrop from rule %s" rule)) 883 (when dbus-debug (message "Removing eavesdrop from rule %s" rule))
884 (setq rule (replace-regexp-in-string ",eavesdrop='true'" "" rule t t)) 884 (setq rule (replace-regexp-in-string ",eavesdrop='true'" "" rule t t))
@@ -1234,7 +1234,7 @@ If the HANDLER returns a `dbus-error', it is propagated as return message."
1234 ;; Propagate D-Bus error messages. 1234 ;; Propagate D-Bus error messages.
1235 (run-hook-with-args 'dbus-event-error-functions event err) 1235 (run-hook-with-args 'dbus-event-error-functions event err)
1236 (when dbus-debug 1236 (when dbus-debug
1237 (signal (car err) (cdr err)))))) 1237 (signal err)))))
1238 1238
1239(defun dbus-event-bus-name (event) 1239(defun dbus-event-bus-name (event)
1240 "Return the bus name the event is coming from. 1240 "Return the bus name the event is coming from.
diff --git a/lisp/plstore.el b/lisp/plstore.el
index 08c9f5a423e..0964e6ccaf6 100644
--- a/lisp/plstore.el
+++ b/lisp/plstore.el
@@ -432,7 +432,7 @@ accordingly."
432 plstore-passphrase-alist))) 432 plstore-passphrase-alist)))
433 (if entry 433 (if entry
434 (setcdr entry nil))) 434 (setcdr entry nil)))
435 (signal (car error) (cdr error)))) 435 (signal error)))
436 (plstore--set-secret-alist plstore (car (read-from-string plain))) 436 (plstore--set-secret-alist plstore (car (read-from-string plain)))
437 (plstore--merge-secret plstore) 437 (plstore--merge-secret plstore)
438 (plstore--set-encrypted-data plstore nil)))) 438 (plstore--set-encrypted-data plstore nil))))
diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index 44c54a60757..a5e1d8ac023 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -849,7 +849,7 @@ macro as normal text."
849 (search-failed 849 (search-failed
850 (goto-char saved-point) 850 (goto-char saved-point)
851 (unless noerror 851 (unless noerror
852 (signal (car err) (cdr err))))))) 852 (signal err))))))
853 853
854 854
855(defun js--re-search-backward-inner (regexp &optional bound count) 855(defun js--re-search-backward-inner (regexp &optional bound count)
diff --git a/lisp/progmodes/octave.el b/lisp/progmodes/octave.el
index d5e1dc39790..18800e29aa5 100644
--- a/lisp/progmodes/octave.el
+++ b/lisp/progmodes/octave.el
@@ -995,7 +995,7 @@ directory and makes this the current buffer's default directory."
995 (progn 995 (progn
996 (cd (car inferior-octave-output-list)) 996 (cd (car inferior-octave-output-list))
997 t) 997 t)
998 (error (unless noerror (signal (car err) (cdr err)))))) 998 (error (unless noerror (signal err)))))
999 999
1000(defcustom inferior-octave-minimal-columns 80 1000(defcustom inferior-octave-minimal-columns 80
1001 "The minimal column width for the inferior Octave process." 1001 "The minimal column width for the inferior Octave process."
diff --git a/lisp/savehist.el b/lisp/savehist.el
index 03f0889ef58..8f46adbeb95 100644
--- a/lisp/savehist.el
+++ b/lisp/savehist.el
@@ -235,7 +235,7 @@ Be careful to do it while preserving the current history data."
235 ;; effectively destroy the user's data at the next save. 235 ;; effectively destroy the user's data at the next save.
236 (setq savehist-mode nil) 236 (setq savehist-mode nil)
237 (savehist-uninstall) 237 (savehist-uninstall)
238 (signal (car errvar) (cdr errvar)))) 238 (signal errvar)))
239 239
240 ;; In case we're loading the file late, there was info in the history 240 ;; In case we're loading the file late, there was info in the history
241 ;; variables that may have been overwritten by the info extracted from 241 ;; variables that may have been overwritten by the info extracted from
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el
index 8cad7472089..e7400e81e00 100644
--- a/lisp/tar-mode.el
+++ b/lisp/tar-mode.el
@@ -879,7 +879,7 @@ See also: variables `tar-update-datestamp' and `tar-anal-blocksize'.
879 ;; tar data. Rather than show a mysterious empty buffer, let's 879 ;; tar data. Rather than show a mysterious empty buffer, let's
880 ;; revert to fundamental-mode. 880 ;; revert to fundamental-mode.
881 (fundamental-mode) 881 (fundamental-mode)
882 (signal (car err) (cdr err))))) 882 (signal err))))
883 883
884(autoload 'woman-tar-extract-file "woman" 884(autoload 'woman-tar-extract-file "woman"
885 "In tar mode, run the WoMan man-page browser on this file." t) 885 "In tar mode, run the WoMan man-page browser on this file." t)
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index 9385207f767..86a4b1d006e 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -1874,7 +1874,7 @@ Mark is left at original location."
1874 (progn (latex-backward-sexp-1) (1+ arg))))) 1874 (progn (latex-backward-sexp-1) (1+ arg)))))
1875 (scan-error 1875 (scan-error
1876 (goto-char pos) 1876 (goto-char pos)
1877 (signal (car err) (cdr err)))))) 1877 (signal err)))))
1878 1878
1879(defun latex-syntax-after () 1879(defun latex-syntax-after ()
1880 "Like (char-syntax (char-after)) but aware of multi-char elements." 1880 "Like (char-syntax (char-after)) but aware of multi-char elements."
diff --git a/lisp/transient.el b/lisp/transient.el
index a7e2e5daa23..e77fef1f98a 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -64,7 +64,7 @@
64 ,(macroexp-progn body)) 64 ,(macroexp-progn body))
65 ((debug error) 65 ((debug error)
66 (transient--emergency-exit ,id) 66 (transient--emergency-exit ,id)
67 (signal (car err) (cdr err))))) 67 (signal err))))
68 68
69(defun transient--exit-and-debug (&rest args) 69(defun transient--exit-and-debug (&rest args)
70 (transient--emergency-exit :debugger) 70 (transient--emergency-exit :debugger)
diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el
index 559310ff770..86095780f67 100644
--- a/lisp/vc/diff-mode.el
+++ b/lisp/vc/diff-mode.el
@@ -981,7 +981,7 @@ data such as \"Index: ...\" and such."
981 ;; File starts *after* the starting point: we really weren't in 981 ;; File starts *after* the starting point: we really weren't in
982 ;; a file diff but elsewhere. 982 ;; a file diff but elsewhere.
983 (goto-char orig) 983 (goto-char orig)
984 (signal (car err) (cdr err))))) 984 (signal err))))
985 985
986(defun diff-file-kill (&optional delete) 986(defun diff-file-kill (&optional delete)
987 "Kill current file's hunks. 987 "Kill current file's hunks.
diff --git a/lisp/vc/smerge-mode.el b/lisp/vc/smerge-mode.el
index c0f6fd426c1..3744ec501ec 100644
--- a/lisp/vc/smerge-mode.el
+++ b/lisp/vc/smerge-mode.el
@@ -1444,7 +1444,7 @@ region, or with a numeric prefix. By default it uses a numeric prefix of 1."
1444 ;; conflicts instead! 1444 ;; conflicts instead!
1445 (condition-case err 1445 (condition-case err
1446 (smerge-match-conflict) 1446 (smerge-match-conflict)
1447 (error (if (not (markerp otherpos)) (signal (car err) (cdr err)) 1447 (error (if (not (markerp otherpos)) (signal err)
1448 (goto-char (prog1 otherpos (setq otherpos (point-marker)))) 1448 (goto-char (prog1 otherpos (setq otherpos (point-marker))))
1449 (smerge-match-conflict)))) 1449 (smerge-match-conflict))))
1450 (let ((beg (match-beginning 0)) 1450 (let ((beg (match-beginning 0))
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index a1546cbc65a..37d2bc3612f 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -2045,7 +2045,7 @@ After check-out, runs the normal hook `vc-checkout-hook'."
2045 (when t 2045 (when t
2046 (let ((buf (get-file-buffer file))) 2046 (let ((buf (get-file-buffer file)))
2047 (when buf (with-current-buffer buf (read-only-mode -1))))) 2047 (when buf (with-current-buffer buf (read-only-mode -1)))))
2048 (signal (car err) (cdr err)))) 2048 (signal err)))
2049 `((vc-state . ,(if (or (eq (vc-checkout-model backend (list file)) 'implicit) 2049 `((vc-state . ,(if (or (eq (vc-checkout-model backend (list file)) 'implicit)
2050 nil) 2050 nil)
2051 'up-to-date 2051 'up-to-date
@@ -4695,7 +4695,7 @@ tip revision are merged into the working file."
4695 (and-let* ((fileset (vc-deduce-fileset 'not-state-changing 4695 (and-let* ((fileset (vc-deduce-fileset 'not-state-changing
4696 'allow-unregistered))) 4696 'allow-unregistered)))
4697 (vc-find-backend-function (car fileset) 'pull))) 4697 (vc-find-backend-function (car fileset) 'pull)))
4698 (signal (car ret) (cdr ret)))) 4698 (signal ret)))
4699 (:success 4699 (:success
4700 (setq backend (car ret) files (cadr ret) 4700 (setq backend (car ret) files (cadr ret)
4701 fn (vc-find-backend-function backend 'pull)))) 4701 fn (vc-find-backend-function backend 'pull))))
diff --git a/src/fileio.c b/src/fileio.c
index cc6590130f7..beb020810be 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -286,8 +286,7 @@ void
286report_file_errno (char const *string, Lisp_Object name, int errorno) 286report_file_errno (char const *string, Lisp_Object name, int errorno)
287{ 287{
288 Lisp_Object data = get_file_errno_data (string, name, errorno); 288 Lisp_Object data = get_file_errno_data (string, name, errorno);
289 289 xsignal (data, Qnil);
290 xsignal (Fcar (data), Fcdr (data));
291} 290}
292 291
293/* Signal a file-access failure that set errno. STRING describes the 292/* Signal a file-access failure that set errno. STRING describes the