aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-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/ebuff-menu.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/erc/erc.el2
-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/gnus-search.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/ibuffer.el11
-rw-r--r--lisp/international/ja-dic-utl.el2
-rw-r--r--lisp/jit-lock.el2
-rw-r--r--lisp/ls-lisp.el4
-rw-r--r--lisp/mail/mail-extr.el6
-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.el8
-rw-r--r--lisp/net/eudc-export.el4
-rw-r--r--lisp/net/imap.el4
-rw-r--r--lisp/net/soap-client.el4
-rw-r--r--lisp/net/tramp-adb.el3
-rw-r--r--lisp/net/tramp-androidsu.el2
-rw-r--r--lisp/net/tramp-compat.el2
-rw-r--r--lisp/net/tramp-crypt.el2
-rw-r--r--lisp/net/tramp-sh.el13
-rw-r--r--lisp/net/tramp-smb.el10
-rw-r--r--lisp/net/tramp.el8
-rw-r--r--lisp/org/org.el2
-rw-r--r--lisp/org/ox-icalendar.el2
-rw-r--r--lisp/plstore.el2
-rw-r--r--lisp/progmodes/ebrowse.el26
-rw-r--r--lisp/progmodes/eglot.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.el8
-rw-r--r--test/infra/android/test-controller.el2
-rw-r--r--test/lisp/arc-mode-tests.el5
-rw-r--r--test/lisp/autorevert-tests.el2
-rw-r--r--test/lisp/emacs-lisp/edebug-tests.el5
-rw-r--r--test/lisp/emacs-lisp/pp-tests.el2
-rw-r--r--test/lisp/net/tramp-tests.el4
-rw-r--r--test/lisp/proced-tests.el2
-rw-r--r--test/lisp/vc/vc-git-tests.el2
-rw-r--r--test/lisp/vc/vc-tests/vc-tests.el3
-rw-r--r--test/src/filelock-tests.el6
-rw-r--r--test/src/process-tests.el2
63 files changed, 119 insertions, 137 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/ebuff-menu.el b/lisp/ebuff-menu.el
index 492d8180848..bfdea278790 100644
--- a/lisp/ebuff-menu.el
+++ b/lisp/ebuff-menu.el
@@ -176,7 +176,7 @@ Run hooks in `electric-buffer-menu-mode-hook' on entry.
176 (not (memq (car condition) '(buffer-read-only 176 (not (memq (car condition) '(buffer-read-only
177 end-of-buffer 177 end-of-buffer
178 beginning-of-buffer)))) 178 beginning-of-buffer))))
179 (signal (car condition) (cdr condition))) 179 (signal condition))
180 ((< (point) (car state)) 180 ((< (point) (car state))
181 (goto-char (point-min)) 181 (goto-char (point-min))
182 (unless Buffer-menu-use-header-line 182 (unless Buffer-menu-use-header-line
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/erc/erc.el b/lisp/erc/erc.el
index 572b73188e3..6464e3bf0b1 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -4788,7 +4788,7 @@ and ask whether to continue connecting anyway."
4788 '(info "(erc) auth-source Troubleshooting")) 4788 '(info "(erc) auth-source Troubleshooting"))
4789 (when (or noninteractive 4789 (when (or noninteractive
4790 (not (y-or-n-p "Ignore auth-source error and continue? "))) 4790 (not (y-or-n-p "Ignore auth-source error and continue? ")))
4791 (signal (car err) (cdr err)))))) 4791 (signal err)))))
4792 4792
4793(defun erc-server-join-channel (server channel &optional secret) 4793(defun erc-server-join-channel (server channel &optional secret)
4794 "Join CHANNEL, optionally with SECRET. 4794 "Join CHANNEL, optionally with SECRET.
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/gnus-search.el b/lisp/gnus/gnus-search.el
index 58f72f002fd..87ac1eb2a15 100644
--- a/lisp/gnus/gnus-search.el
+++ b/lisp/gnus/gnus-search.el
@@ -2087,7 +2087,7 @@ Assume \"size\" key is equal to \"larger\"."
2087 (apply #'nnheader-message 4 2087 (apply #'nnheader-message 4
2088 "Search engine for %s improperly configured: %s" 2088 "Search engine for %s improperly configured: %s"
2089 server (cdr err)) 2089 server (cdr err))
2090 (signal (car err) (cdr err)))))) 2090 (signal err)))))
2091 (alist-get 'search-group-spec specs)) 2091 (alist-get 'search-group-spec specs))
2092 ;; Some search engines do their own limiting, but some don't, so 2092 ;; Some search engines do their own limiting, but some don't, so
2093 ;; do it again here. This is bad because, if the user is 2093 ;; do it again here. This is bad because, if the user is
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/ibuffer.el b/lisp/ibuffer.el
index 99fe5cd2f5a..6777d652c44 100644
--- a/lisp/ibuffer.el
+++ b/lisp/ibuffer.el
@@ -1127,11 +1127,12 @@ a new window in the current frame, splitting vertically."
1127 (error 1127 (error
1128 ;; Handle a failure 1128 ;; Handle a failure
1129 (if (or (> (incf attempts) 4) 1129 (if (or (> (incf attempts) 4)
1130 (and (stringp (cadr err)) 1130 (let ((msg (error-slot-value err 1)))
1131 ;; This definitely falls in the 1131 (and (stringp msg)
1132 ;; ghetto hack category... 1132 ;; This definitely falls in the
1133 (not (string-match-p "too small" (cadr err))))) 1133 ;; ghetto hack category...
1134 (signal (car err) (cdr err)) 1134 (not (string-match-p "too small" msg)))))
1135 (signal err)
1135 (enlarge-window 3)))))) 1136 (enlarge-window 3))))))
1136 (select-window (next-window)) 1137 (select-window (next-window))
1137 (switch-to-buffer buf) 1138 (switch-to-buffer buf)
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/ls-lisp.el b/lisp/ls-lisp.el
index 99cfbf140c3..bde472588cc 100644
--- a/lisp/ls-lisp.el
+++ b/lisp/ls-lisp.el
@@ -312,14 +312,14 @@ are also supported; unsupported long options are silently ignored."
312 (invalid-regexp 312 (invalid-regexp
313 ;; Maybe they wanted a literal file that just happens to 313 ;; Maybe they wanted a literal file that just happens to
314 ;; use characters special to shell wildcards. 314 ;; use characters special to shell wildcards.
315 (if (equal (cadr err) "Unmatched [ or [^") 315 (if (equal (error-slot-value err 2) "Unmatched [ or [^")
316 (progn 316 (progn
317 (setq wildcard-regexp (if (memq ?B switches) "[^~]\\'") 317 (setq wildcard-regexp (if (memq ?B switches) "[^~]\\'")
318 file (file-relative-name orig-file)) 318 file (file-relative-name orig-file))
319 (ls-lisp-insert-directory 319 (ls-lisp-insert-directory
320 file switches (ls-lisp-time-index switches) 320 file switches (ls-lisp-time-index switches)
321 nil full-directory-p)) 321 nil full-directory-p))
322 (signal (car err) (cdr err))))))) 322 (signal err))))))
323 323
324(defun ls-lisp-insert-directory 324(defun ls-lisp-insert-directory
325 (file switches time-index wildcard-regexp full-directory-p) 325 (file switches time-index wildcard-regexp full-directory-p)
diff --git a/lisp/mail/mail-extr.el b/lisp/mail/mail-extr.el
index ae3b37ea41c..ee009ecfda4 100644
--- a/lisp/mail/mail-extr.el
+++ b/lisp/mail/mail-extr.el
@@ -655,10 +655,10 @@ Unless NO-REPLACE is true, at each of the positions in LIST-SYMBOL
655 t) 655 t)
656 (error 656 (error
657 ;; #### kludge kludge kludge kludge kludge kludge kludge !!! 657 ;; #### kludge kludge kludge kludge kludge kludge kludge !!!
658 (if (string-equal (nth 1 error) "Unbalanced parentheses") 658 (if (string-equal (error-slot-value error 1) "Unbalanced parentheses")
659 nil 659 nil
660 (while t 660 (while t ;;FIXME: Why?
661 (signal (car error) (cdr error))))))) 661 (signal error))))))
662 662
663;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 663;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
664;; 664;;
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 465de028725..58d78b14c12 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.
@@ -1668,7 +1668,7 @@ return nil.
1668 (dbus-error 1668 (dbus-error
1669 (if (string-equal dbus-error-access-denied (cadr err)) 1669 (if (string-equal dbus-error-access-denied (cadr err))
1670 (car args) 1670 (car args)
1671 (signal (car err) (cdr err)))))) 1671 (signal err)))))
1672 1672
1673(defun dbus-get-all-properties (bus service path interface) 1673(defun dbus-get-all-properties (bus service path interface)
1674 "Return all properties of INTERFACE at BUS, SERVICE, PATH. 1674 "Return all properties of INTERFACE at BUS, SERVICE, PATH.
diff --git a/lisp/net/eudc-export.el b/lisp/net/eudc-export.el
index aa8e52bd792..ac212e7a817 100644
--- a/lisp/net/eudc-export.el
+++ b/lisp/net/eudc-export.el
@@ -187,11 +187,11 @@ LOCATION is used as the phone location for BBDB."
187 (bbdb-parse-phone phone) 187 (bbdb-parse-phone phone)
188 (bbdb-parse-phone-number phone))) 188 (bbdb-parse-phone-number phone)))
189 (error 189 (error
190 (if (string= "phone number unparsable." (cadr err)) 190 (if (equal "phone number unparsable." (error-slot-value err 1))
191 (if (not (y-or-n-p (format "BBDB claims %S to be unparsable--insert anyway? " phone))) 191 (if (not (y-or-n-p (format "BBDB claims %S to be unparsable--insert anyway? " phone)))
192 (error "Phone number unparsable") 192 (error "Phone number unparsable")
193 (setq phone-list (list (bbdb-string-trim phone)))) 193 (setq phone-list (list (bbdb-string-trim phone))))
194 (signal (car err) (cdr err))))) 194 (signal err))))
195 (if (= 3 (length phone-list)) 195 (if (= 3 (length phone-list))
196 (setq phone-list (append phone-list '(nil)))) 196 (setq phone-list (append phone-list '(nil))))
197 (apply #'vector location phone-list))) 197 (apply #'vector location phone-list)))
diff --git a/lisp/net/imap.el b/lisp/net/imap.el
index 22bebbb0f0c..bb298d11d3c 100644
--- a/lisp/net/imap.el
+++ b/lisp/net/imap.el
@@ -1729,11 +1729,11 @@ See `imap-enable-exchange-bug-workaround'."
1729 ;; robust just to check for a BAD response to the 1729 ;; robust just to check for a BAD response to the
1730 ;; attempted fetch. 1730 ;; attempted fetch.
1731 (string-match "The specified message set is invalid" 1731 (string-match "The specified message set is invalid"
1732 (cadr data))) 1732 (error-slot-value data 1)))
1733 (with-current-buffer (or buffer (current-buffer)) 1733 (with-current-buffer (or buffer (current-buffer))
1734 (setq-local imap-enable-exchange-bug-workaround t) 1734 (setq-local imap-enable-exchange-bug-workaround t)
1735 (imap-fetch (cdr uids) props receive nouidfetch)) 1735 (imap-fetch (cdr uids) props receive nouidfetch))
1736 (signal (car data) (cdr data)))))) 1736 (signal data)))))
1737 1737
1738(defun imap-message-copyuid-1 (mailbox) 1738(defun imap-message-copyuid-1 (mailbox)
1739 (if (imap-capability 'UIDPLUS) 1739 (if (imap-capability 'UIDPLUS)
diff --git a/lisp/net/soap-client.el b/lisp/net/soap-client.el
index f6d2ba229e5..544f0286834 100644
--- a/lisp/net/soap-client.el
+++ b/lisp/net/soap-client.el
@@ -3194,7 +3194,7 @@ OPERATION-NAME and PARAMETERS are as described in `soap-invoke'."
3194 (unwind-protect 3194 (unwind-protect
3195 (let ((error-status (plist-get status :error))) 3195 (let ((error-status (plist-get status :error)))
3196 (if error-status 3196 (if error-status
3197 (signal (car error-status) (cdr error-status)) 3197 (signal error-status)
3198 (apply callback 3198 (apply callback
3199 (soap-parse-envelope 3199 (soap-parse-envelope
3200 (soap-parse-server-response) 3200 (soap-parse-server-response)
@@ -3221,7 +3221,7 @@ OPERATION-NAME and PARAMETERS are as described in `soap-invoke'."
3221 ;; Propagate soap-errors -- they are error replies of the 3221 ;; Propagate soap-errors -- they are error replies of the
3222 ;; SOAP protocol and don't indicate a communication 3222 ;; SOAP protocol and don't indicate a communication
3223 ;; problem or a bug in this code. 3223 ;; problem or a bug in this code.
3224 (signal (car err) (cdr err))) 3224 (signal err))
3225 (error 3225 (error
3226 (when soap-debug 3226 (when soap-debug
3227 (pop-to-buffer buffer)) 3227 (pop-to-buffer buffer))
diff --git a/lisp/net/tramp-adb.el b/lisp/net/tramp-adb.el
index c20b5df9b59..0184586ba0e 100644
--- a/lisp/net/tramp-adb.el
+++ b/lisp/net/tramp-adb.el
@@ -629,7 +629,8 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
629 (rename-file tmpfile newname ok-if-already-exists) 629 (rename-file tmpfile newname ok-if-already-exists)
630 ((error quit) 630 ((error quit)
631 (delete-file tmpfile) 631 (delete-file tmpfile)
632 (signal (car err) (cdr err)))) 632 ;; FIXME: Maybe `unwind-protect' would be better.
633 (signal err)))
633 634
634 ;; Remote newname. 635 ;; Remote newname.
635 (when (and (file-directory-p newname) 636 (when (and (file-directory-p newname)
diff --git a/lisp/net/tramp-androidsu.el b/lisp/net/tramp-androidsu.el
index f15c5587651..320163c55d5 100644
--- a/lisp/net/tramp-androidsu.el
+++ b/lisp/net/tramp-androidsu.el
@@ -227,7 +227,7 @@ multibyte mode and waits for the shell prompt to appear."
227 ;; Cleanup, and propagate the signal. 227 ;; Cleanup, and propagate the signal.
228 ((error quit) 228 ((error quit)
229 (tramp-cleanup-connection vec t) 229 (tramp-cleanup-connection vec t)
230 (signal (car err) (cdr err))))))) 230 (signal err))))))
231 231
232(defun tramp-androidsu-generate-wrapper (function) 232(defun tramp-androidsu-generate-wrapper (function)
233 "Return connection wrapper function for FUNCTION. 233 "Return connection wrapper function for FUNCTION.
diff --git a/lisp/net/tramp-compat.el b/lisp/net/tramp-compat.el
index ecc6fe96855..c42c69af9a5 100644
--- a/lisp/net/tramp-compat.el
+++ b/lisp/net/tramp-compat.el
@@ -263,7 +263,7 @@ value is the default binding of the variable."
263;; * Starting with Emacs 30.1, there is `handler-bind'. Use it 263;; * Starting with Emacs 30.1, there is `handler-bind'. Use it
264;; instead of `condition-case' when the origin of an error shall be 264;; instead of `condition-case' when the origin of an error shall be
265;; kept, for example when the HANDLER propagates the error with 265;; kept, for example when the HANDLER propagates the error with
266;; `(signal (car err) (cdr err)'. 266;; `(signal err)'.
267;; 267;;
268;; * Starting with Emacs 30.1, use '(_ VALUEFORM)' instead of 268;; * Starting with Emacs 30.1, use '(_ VALUEFORM)' instead of
269;; '(VALUEFORM)' in 'if-let*/when-let*/and-let*'. 269;; '(VALUEFORM)' in 'if-let*/when-let*/and-let*'.
diff --git a/lisp/net/tramp-crypt.el b/lisp/net/tramp-crypt.el
index 59e4cea2edb..fa609ae6e15 100644
--- a/lisp/net/tramp-crypt.el
+++ b/lisp/net/tramp-crypt.el
@@ -572,7 +572,7 @@ localname."
572 (setcar 572 (setcar
573 (cdr err) 573 (cdr err)
574 (replace-regexp-in-string encrypt-regexp filename (cadr err)))) 574 (replace-regexp-in-string encrypt-regexp filename (cadr err))))
575 (signal (car err) (cdr err)))))) 575 (signal err)))))
576 576
577(defun tramp-crypt-do-copy-or-rename-file 577(defun tramp-crypt-do-copy-or-rename-file
578 (op filename newname &optional ok-if-already-exists keep-date 578 (op filename newname &optional ok-if-already-exists keep-date
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index c83a7a9978d..e7e5a142b9d 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -3468,9 +3468,10 @@ will be used."
3468 "Wrong method specification for `%s'" method))) 3468 "Wrong method specification for `%s'" method)))
3469 3469
3470 ;; Error handling. 3470 ;; Error handling.
3471 ;; FIXME: Use `unwind-protect'?
3471 ((error quit) 3472 ((error quit)
3472 (delete-file tmpfile) 3473 (delete-file tmpfile)
3473 (signal (car err) (cdr err))))) 3474 (signal err))))
3474 3475
3475 ;; Impossible to copy. Trigger `file-missing' error. 3476 ;; Impossible to copy. Trigger `file-missing' error.
3476 (delete-file tmpfile) 3477 (delete-file tmpfile)
@@ -3526,10 +3527,11 @@ will be used."
3526 create-lockfiles) 3527 create-lockfiles)
3527 (condition-case err 3528 (condition-case err
3528 (write-region start end tmpfile append 'no-message) 3529 (write-region start end tmpfile append 'no-message)
3530 ;; FIXME: Use `unwind-protect'?
3529 ((error quit) 3531 ((error quit)
3530 (setq tramp-temp-buffer-file-name nil) 3532 (setq tramp-temp-buffer-file-name nil)
3531 (delete-file tmpfile) 3533 (delete-file tmpfile)
3532 (signal (car err) (cdr err))))) 3534 (signal err))))
3533 3535
3534 ;; Now, `last-coding-system-used' has the right value. 3536 ;; Now, `last-coding-system-used' has the right value.
3535 ;; Remember it. 3537 ;; Remember it.
@@ -3567,10 +3569,10 @@ will be used."
3567 ;; We keep the local file for performance 3569 ;; We keep the local file for performance
3568 ;; reasons, useful for "rsync". 3570 ;; reasons, useful for "rsync".
3569 (copy-file tmpfile filename t) 3571 (copy-file tmpfile filename t)
3570 ((error quit) 3572 ((error quit) ;FIXME: `unwind-protect'?
3571 (setq tramp-temp-buffer-file-name nil) 3573 (setq tramp-temp-buffer-file-name nil)
3572 (delete-file tmpfile) 3574 (delete-file tmpfile)
3573 (signal (car err) (cdr err))))) 3575 (signal err))))
3574 (setq tramp-temp-buffer-file-name nil) 3576 (setq tramp-temp-buffer-file-name nil)
3575 ;; Don't rename, in order to keep context in SELinux. 3577 ;; Don't rename, in order to keep context in SELinux.
3576 (unwind-protect 3578 (unwind-protect
@@ -5521,9 +5523,10 @@ connection if a previous connection has died for some reason."
5521 (tramp-set-connection-property p "connected" t)))) 5523 (tramp-set-connection-property p "connected" t))))
5522 5524
5523 ;; Cleanup, and propagate the signal. 5525 ;; Cleanup, and propagate the signal.
5526 ;; FIXME: `unwind-protect'?
5524 ((error quit) 5527 ((error quit)
5525 (tramp-cleanup-connection vec t) 5528 (tramp-cleanup-connection vec t)
5526 (signal (car err) (cdr err))))))) 5529 (signal err))))))
5527 5530
5528(defun tramp-send-command (vec command &optional neveropen nooutput) 5531(defun tramp-send-command (vec command &optional neveropen nooutput)
5529 "Send the COMMAND to connection VEC. 5532 "Send the COMMAND to connection VEC.
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el
index 554aa354c00..8985f751bb1 100644
--- a/lisp/net/tramp-smb.el
+++ b/lisp/net/tramp-smb.el
@@ -610,11 +610,9 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
610 (and (tramp-tramp-file-p filename) 610 (and (tramp-tramp-file-p filename)
611 (file-local-copy filename)))) 611 (file-local-copy filename))))
612 ;; Remote filename. 612 ;; Remote filename.
613 (condition-case err 613 (unwind-protect
614 (rename-file tmpfile newname ok-if-already-exists) 614 (rename-file tmpfile newname ok-if-already-exists)
615 ((error quit) 615 (delete-file tmpfile))
616 (delete-file tmpfile)
617 (signal (car err) (cdr err))))
618 616
619 ;; Remote newname. 617 ;; Remote newname.
620 (when (and (file-directory-p newname) 618 (when (and (file-directory-p newname)
@@ -852,7 +850,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
852 nil ;9 gid weird 850 nil ;9 gid weird
853 inode ;10 inode number 851 inode ;10 inode number
854 device)))) ;11 file system number 852 device)))) ;11 file system number
855 (remote-file-error (signal (car err) (cdr err))) 853 (remote-file-error (signal err))
856 (error))))) 854 (error)))))
857 855
858(defun tramp-smb-do-file-attributes-with-stat (vec) 856(defun tramp-smb-do-file-attributes-with-stat (vec)
@@ -2125,7 +2123,7 @@ If ARGUMENT is non-nil, use it as argument for
2125 (tramp-cleanup-connection vec t) 2123 (tramp-cleanup-connection vec t)
2126 (tramp-smb-maybe-open-connection vec argument)) 2124 (tramp-smb-maybe-open-connection vec argument))
2127 ;; Propagate the error. 2125 ;; Propagate the error.
2128 (signal (car err) (cdr err)))))))))))))) 2126 (signal err)))))))))))))
2129 2127
2130;; We don't use timeouts. If needed, the caller shall wrap around. 2128;; We don't use timeouts. If needed, the caller shall wrap around.
2131(defun tramp-smb-wait-for-output (vec) 2129(defun tramp-smb-wait-for-output (vec)
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 5441a26d7a0..fc607967194 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -2153,7 +2153,7 @@ does not exist, otherwise propagate the error."
2153 (if (not (or (file-exists-p ,filename) (file-symlink-p ,filename))) 2153 (if (not (or (file-exists-p ,filename) (file-symlink-p ,filename)))
2154 (when (tramp-connectable-p ,vec) 2154 (when (tramp-connectable-p ,vec)
2155 (tramp-error ,vec 'file-missing ,filename)) 2155 (tramp-error ,vec 'file-missing ,filename))
2156 (signal (car ,err) (cdr ,err))))))) 2156 (signal ,err))))))
2157 2157
2158(defun tramp-signal-hook-function (error-symbol data) 2158(defun tramp-signal-hook-function (error-symbol data)
2159 "Function to be called via `signal-hook-function'. 2159 "Function to be called via `signal-hook-function'.
@@ -4038,7 +4038,7 @@ BODY is the backend specific code."
4038 (progn ,@body) 4038 (progn ,@body)
4039 (error (if tramp-inhibit-errors-if-setting-file-attributes-fail 4039 (error (if tramp-inhibit-errors-if-setting-file-attributes-fail
4040 (display-warning 'tramp (error-message-string err)) 4040 (display-warning 'tramp (error-message-string err))
4041 (signal (car err) (cdr err))))))))) 4041 (signal err))))))))
4042 4042
4043(defmacro tramp-skeleton-write-region 4043(defmacro tramp-skeleton-write-region
4044 (start end filename append visit lockname mustbenew &rest body) 4044 (start end filename append visit lockname mustbenew &rest body)
@@ -4846,9 +4846,9 @@ existing) are returned."
4846 (tramp-error v 'file-missing filename))) 4846 (tramp-error v 'file-missing filename)))
4847 (error 4847 (error
4848 (add-hook 'find-file-not-found-functions 4848 (add-hook 'find-file-not-found-functions
4849 `(lambda () (signal ',(car err) ',(cdr err))) 4849 (lambda () (signal err))
4850 nil t) 4850 nil t)
4851 (signal (car err) (cdr err)))) 4851 (signal err)))
4852 4852
4853 ;; Save exit. 4853 ;; Save exit.
4854 (when visit 4854 (when visit
diff --git a/lisp/org/org.el b/lisp/org/org.el
index 433733537c5..67c7eacd270 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -4704,7 +4704,7 @@ is available. This option applies only if FILE is a URL."
4704 nil)) 4704 nil))
4705 (error (if noerror 4705 (error (if noerror
4706 (message "Org couldn't download \"%s\": %s %S" file (car error) (cdr error)) 4706 (message "Org couldn't download \"%s\": %s %S" file (car error) (cdr error))
4707 (signal (car error) (cdr error))))) 4707 (signal error))))
4708 (funcall (if noerror #'message #'user-error) 4708 (funcall (if noerror #'message #'user-error)
4709 "The remote resource %S is considered unsafe, and will not be downloaded." 4709 "The remote resource %S is considered unsafe, and will not be downloaded."
4710 file))) 4710 file)))
diff --git a/lisp/org/ox-icalendar.el b/lisp/org/ox-icalendar.el
index 3b7dd45f873..dd84b024af4 100644
--- a/lisp/org/ox-icalendar.el
+++ b/lisp/org/ox-icalendar.el
@@ -1148,7 +1148,7 @@ external process."
1148 (warn "Exporting %s to icalendar failed: %s" 1148 (warn "Exporting %s to icalendar failed: %s"
1149 file 1149 file
1150 (error-message-string err)) 1150 (error-message-string err))
1151 (signal (car err) (cdr err))))))) 1151 (signal err))))))
1152 (org-release-buffers org-agenda-new-buffers))))) 1152 (org-release-buffers org-agenda-new-buffers)))))
1153 1153
1154;;;###autoload 1154;;;###autoload
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/ebrowse.el b/lisp/progmodes/ebrowse.el
index 2d0ab0fdeaf..466b76d2bb3 100644
--- a/lisp/progmodes/ebrowse.el
+++ b/lisp/progmodes/ebrowse.el
@@ -1936,10 +1936,10 @@ COLLAPSE non-nil means collapse the branch."
1936Don't let it move into the title lines. 1936Don't let it move into the title lines.
1937See `Electric-command-loop' for a description of STATE and CONDITION." 1937See `Electric-command-loop' for a description of STATE and CONDITION."
1938 (cond ((and condition 1938 (cond ((and condition
1939 (not (memq (car condition) 1939 (not (or (error-has-type-p condition 'buffer-read-only)
1940 '(buffer-read-only end-of-buffer 1940 (error-has-type-p condition 'end-of-buffer)
1941 beginning-of-buffer)))) 1941 (error-has-type-p condition 'beginning-of-buffer))))
1942 (signal (car condition) (cdr condition))) 1942 (signal condition))
1943 ((< (point) (car state)) 1943 ((< (point) (car state))
1944 (goto-char (point-min)) 1944 (goto-char (point-min))
1945 (forward-line 2)) 1945 (forward-line 2))
@@ -3879,23 +3879,7 @@ Runs the hook `ebrowse-electric-position-mode-hook'."
3879 (kill-buffer buffer))) 3879 (kill-buffer buffer)))
3880 3880
3881 3881
3882(defun ebrowse-electric-position-looper (state condition) 3882(defalias 'ebrowse-electric-position-looper #'ebrowse-electric-list-looper)
3883 "Prevent moving point on invalid lines.
3884Called from `Electric-command-loop'. See there for the meaning
3885of STATE and CONDITION."
3886 (cond ((and condition
3887 (not (memq (car condition) '(buffer-read-only
3888 end-of-buffer
3889 beginning-of-buffer))))
3890 (signal (car condition) (cdr condition)))
3891 ((< (point) (car state))
3892 (goto-char (point-min))
3893 (forward-line 2))
3894 ((> (point) (cdr state))
3895 (goto-char (point-max))
3896 (forward-line -1)
3897 (if (pos-visible-in-window-p (point-max))
3898 (recenter -1)))))
3899 3883
3900 3884
3901(defun ebrowse-electric-position-undefined () 3885(defun ebrowse-electric-position-undefined ()
diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
index a4f076a6197..b0de857c4d2 100644
--- a/lisp/progmodes/eglot.el
+++ b/lisp/progmodes/eglot.el
@@ -2874,7 +2874,7 @@ THINGS are either registrations or unregisterations (sic)."
2874 (if (cdr oops) (format " (%s)" (cdr oops)) ""))))) 2874 (if (cdr oops) (format " (%s)" (cdr oops)) "")))))
2875 (t 2875 (t
2876 ;; resignal (unfortunately like this) 2876 ;; resignal (unfortunately like this)
2877 (signal (car oops) (cdr oops))))) 2877 (signal oops))))
2878 2878
2879(cl-defmethod eglot-handle-request 2879(cl-defmethod eglot-handle-request
2880 (server (_method (eql workspace/workspaceFolders))) 2880 (server (_method (eql workspace/workspaceFolders)))
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 0d8e1dd0350..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
@@ -3581,8 +3581,8 @@ BACKEND is the VC backend."
3581 (condition-case err 3581 (condition-case err
3582 (vc-call-backend backend 'root default-directory) 3582 (vc-call-backend backend 'root default-directory)
3583 (vc-not-supported 3583 (vc-not-supported
3584 (unless (eq (cadr err) 'root) 3584 (unless (eq (error-slot-value err 1) 'root)
3585 (signal (car err) (cdr err))) 3585 (signal err))
3586 nil)))) 3586 nil))))
3587 3587
3588;;;###autoload 3588;;;###autoload
@@ -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/test/infra/android/test-controller.el b/test/infra/android/test-controller.el
index 07c6f0e5ba0..34a0e9bfe33 100644
--- a/test/infra/android/test-controller.el
+++ b/test/infra/android/test-controller.el
@@ -1910,7 +1910,7 @@ this machine and an SSH daemon be executing on the host)."
1910 (with-demoted-errors "Winding up failed connection: %S" 1910 (with-demoted-errors "Winding up failed connection: %S"
1911 (ats-adb "-s" device "forward" "--remove" 1911 (ats-adb "-s" device "forward" "--remove"
1912 (format "tcp:%d" host-port))) 1912 (format "tcp:%d" host-port)))
1913 (signal (car err) (cdr err)))))))))) 1913 (signal err)))))))))
1914 1914
1915 1915
1916 1916
diff --git a/test/lisp/arc-mode-tests.el b/test/lisp/arc-mode-tests.el
index 43a441918a5..235a67c8649 100644
--- a/test/lisp/arc-mode-tests.el
+++ b/test/lisp/arc-mode-tests.el
@@ -113,9 +113,10 @@ member MEMBER. Then the test finds ARCHIVE and ensures that function
113 ;; turn the most likely error into a nice 113 ;; turn the most likely error into a nice
114 ;; and self-explaining symbol that can be 114 ;; and self-explaining symbol that can be
115 ;; compared in a `should' 115 ;; compared in a `should'
116 (if (string= (cadr err) "Buffer format not recognized") 116 (if (equal (error-slot-value err 1)
117 "Buffer format not recognized")
117 'signature-not-recognized 118 'signature-not-recognized
118 (signal (car err) (cdr err)))))) 119 (signal err)))))
119 (should (eq type (quote ,type))))) 120 (should (eq type (quote ,type)))))
120 (when buffer (kill-buffer buffer)) 121 (when buffer (kill-buffer buffer))
121 (dolist (file (list member archive)) 122 (dolist (file (list member archive))
diff --git a/test/lisp/autorevert-tests.el b/test/lisp/autorevert-tests.el
index 8a0ce146fbb..a43a45fa0ee 100644
--- a/test/lisp/autorevert-tests.el
+++ b/test/lisp/autorevert-tests.el
@@ -203,7 +203,7 @@ It is checked for buffer-local `auto-revert-notify-watch-descriptor'."
203 (tramp-dissect-file-name auto-revert--test-rootdir) t 'keep-password) 203 (tramp-dissect-file-name auto-revert--test-rootdir) t 'keep-password)
204 (condition-case err 204 (condition-case err
205 (funcall (ert-test-body ert-test)) 205 (funcall (ert-test-body ert-test))
206 (error (message "%s" err) (signal (car err) (cdr err))))))) 206 (error (message "%s" err) (signal err))))))
207 207
208(defmacro with-auto-revert-test (&rest body) 208(defmacro with-auto-revert-test (&rest body)
209 (declare (debug t)) 209 (declare (debug t))
diff --git a/test/lisp/emacs-lisp/edebug-tests.el b/test/lisp/emacs-lisp/edebug-tests.el
index c93dfad0a0d..61e909437c7 100644
--- a/test/lisp/emacs-lisp/edebug-tests.el
+++ b/test/lisp/emacs-lisp/edebug-tests.el
@@ -120,8 +120,7 @@ back to the top level.")
120 (eval-buffer) 120 (eval-buffer)
121 ,@body 121 ,@body
122 (when edebug-tests-failure-in-post-command 122 (when edebug-tests-failure-in-post-command
123 (signal (car edebug-tests-failure-in-post-command) 123 (signal edebug-tests-failure-in-post-command)))
124 (cdr edebug-tests-failure-in-post-command))))
125 (unload-feature 'edebug-test-code) 124 (unload-feature 'edebug-test-code)
126 (with-current-buffer (find-file-noselect edebug-tests-temp-file) 125 (with-current-buffer (find-file-noselect edebug-tests-temp-file)
127 (set-buffer-modified-p nil)) 126 (set-buffer-modified-p nil))
@@ -246,7 +245,7 @@ keyboard macro."
246 (funcall thunk) 245 (funcall thunk)
247 (error 246 (error
248 (setq edebug-tests-failure-in-post-command err) 247 (setq edebug-tests-failure-in-post-command err)
249 (signal (car err) (cdr err))))) 248 (signal err))))
250 (setq edebug-tests-kbd-macro-index executing-kbd-macro-index)))) 249 (setq edebug-tests-kbd-macro-index executing-kbd-macro-index))))
251 250
252(defvar edebug-tests-func nil 251(defvar edebug-tests-func nil
diff --git a/test/lisp/emacs-lisp/pp-tests.el b/test/lisp/emacs-lisp/pp-tests.el
index ed4c9fcf978..c4e93e16005 100644
--- a/test/lisp/emacs-lisp/pp-tests.el
+++ b/test/lisp/emacs-lisp/pp-tests.el
@@ -82,7 +82,7 @@
82 (invalid-read-syntax 82 (invalid-read-syntax
83 (message "Invalid fill result with i=%d:\n%s" 83 (message "Invalid fill result with i=%d:\n%s"
84 i (buffer-string)) 84 i (buffer-string))
85 (signal (car err) (cdr err)) 85 (signal err)
86 )))))))) 86 ))))))))
87 87
88(ert-deftest pp-tests--bug76715 () 88(ert-deftest pp-tests--bug76715 ()
diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el
index 28d773ca616..265821ed439 100644
--- a/test/lisp/net/tramp-tests.el
+++ b/test/lisp/net/tramp-tests.el
@@ -192,7 +192,7 @@ The temporary file is not created."
192 (: "Making symbolic link" 192 (: "Making symbolic link"
193 (? ":") " Operation not permitted"))) 193 (? ":") " Operation not permitted")))
194 (error-message-string err)) 194 (error-message-string err))
195 (signal (car err) (cdr err)))))) 195 (signal err)))))
196 196
197;; Don't print messages in nested `tramp--test-instrument-test-case' calls. 197;; Don't print messages in nested `tramp--test-instrument-test-case' calls.
198(defvar tramp--test-instrument-test-case-p nil 198(defvar tramp--test-instrument-test-case-p nil
@@ -4290,7 +4290,7 @@ This tests also `file-executable-p', `file-writable-p' and `set-file-modes'."
4290 (file-error 4290 (file-error
4291 (unless (string-prefix-p "error with add-name-to-file" 4291 (unless (string-prefix-p "error with add-name-to-file"
4292 (error-message-string err)) 4292 (error-message-string err))
4293 (signal (car err) (cdr err)))))) 4293 (signal err)))))
4294 4294
4295(ert-deftest tramp-test21-file-links () 4295(ert-deftest tramp-test21-file-links ()
4296 "Check `file-symlink-p'. 4296 "Check `file-symlink-p'.
diff --git a/test/lisp/proced-tests.el b/test/lisp/proced-tests.el
index fce3c2bc048..52d1e8850ca 100644
--- a/test/lisp/proced-tests.el
+++ b/test/lisp/proced-tests.el
@@ -61,7 +61,7 @@
61 (proced--move-to-column "%CPU") 61 (proced--move-to-column "%CPU")
62 (condition-case err 62 (condition-case err
63 (>= (proced--cpu-at-point) cpu) 63 (>= (proced--cpu-at-point) cpu)
64 (ert-test-skipped (signal (car err) (cdr err))) 64 (ert-test-skipped (signal err))
65 (error 65 (error
66 (ert-fail 66 (ert-fail
67 (list err (proced--assert-process-valid-cpu-refinement-explainer cpu)))))) 67 (list err (proced--assert-process-valid-cpu-refinement-explainer cpu))))))
diff --git a/test/lisp/vc/vc-git-tests.el b/test/lisp/vc/vc-git-tests.el
index e93ee72210d..96fa3d65c05 100644
--- a/test/lisp/vc/vc-git-tests.el
+++ b/test/lisp/vc/vc-git-tests.el
@@ -111,7 +111,7 @@ If the exit status is non-zero, log the command output and re-throw."
111 (apply 'vc-git-command t 0 nil args) 111 (apply 'vc-git-command t 0 nil args)
112 (t (message "Error running Git: %s" err) 112 (t (message "Error running Git: %s" err)
113 (message "(buffer-string:\n%s\n)" (buffer-string)) 113 (message "(buffer-string:\n%s\n)" (buffer-string))
114 (signal (car err) (cdr err)))) 114 (signal err)))
115 (buffer-string))) 115 (buffer-string)))
116 116
117(defun vc-git-test--start-branch () 117(defun vc-git-test--start-branch ()
diff --git a/test/lisp/vc/vc-tests/vc-tests.el b/test/lisp/vc/vc-tests/vc-tests.el
index ca79a340a46..737ee09415e 100644
--- a/test/lisp/vc/vc-tests/vc-tests.el
+++ b/test/lisp/vc/vc-tests/vc-tests.el
@@ -238,8 +238,7 @@ For backends which don't support it, `vc-not-supported' is signaled."
238Catch the `vc-not-supported' error." 238Catch the `vc-not-supported' error."
239 `(condition-case err 239 `(condition-case err
240 (funcall ,func ,@args) 240 (funcall ,func ,@args)
241 (vc-not-supported 'vc-not-supported) 241 (vc-not-supported 'vc-not-supported)))
242 (t (signal (car err) (cdr err)))))
243 242
244(defun vc-test--register (backend) 243(defun vc-test--register (backend)
245 "Register and unregister a file. 244 "Register and unregister a file.
diff --git a/test/src/filelock-tests.el b/test/src/filelock-tests.el
index 795039cd9cb..1a4497c5377 100644
--- a/test/src/filelock-tests.el
+++ b/test/src/filelock-tests.el
@@ -137,8 +137,7 @@ the case)."
137 137
138 ;; Errors from `unlock-buffer' should call 138 ;; Errors from `unlock-buffer' should call
139 ;; `userlock--handle-unlock-error' (bug#46397). 139 ;; `userlock--handle-unlock-error' (bug#46397).
140 (cl-letf (((symbol-function 'userlock--handle-unlock-error) 140 (cl-letf (((symbol-function 'userlock--handle-unlock-error) #'signal))
141 (lambda (err) (signal (car err) (cdr err)))))
142 (should (equal '(file-error "Unlocking file") 141 (should (equal '(file-error "Unlocking file")
143 (seq-subseq (should-error (unlock-buffer)) 0 2)))))) 142 (seq-subseq (should-error (unlock-buffer)) 0 2))))))
144 143
@@ -160,8 +159,7 @@ the case)."
160 ;; File errors from unlocking files should call 159 ;; File errors from unlocking files should call
161 ;; `userlock--handle-unlock-error' (bug#46397). 160 ;; `userlock--handle-unlock-error' (bug#46397).
162 (cl-letf (((symbol-function 'yes-or-no-p) #'always) 161 (cl-letf (((symbol-function 'yes-or-no-p) #'always)
163 ((symbol-function 'userlock--handle-unlock-error) 162 ((symbol-function 'userlock--handle-unlock-error) #'signal err))
164 (lambda (err) (signal (car err) (cdr err)))))
165 (should (equal '(file-error "Unlocking file") 163 (should (equal '(file-error "Unlocking file")
166 (seq-subseq (should-error (kill-buffer)) 0 2)))))) 164 (seq-subseq (should-error (kill-buffer)) 0 2))))))
167 165
diff --git a/test/src/process-tests.el b/test/src/process-tests.el
index 2cc5b37b187..55657a23fa9 100644
--- a/test/src/process-tests.el
+++ b/test/src/process-tests.el
@@ -546,7 +546,7 @@ See Bug#30460."
546 ;; all `file-error' signals. 546 ;; all `file-error' signals.
547 (and ,message 547 (and ,message
548 (not (string-equal (caddr ,err) ,message)) 548 (not (string-equal (caddr ,err) ,message))
549 (signal (car ,err) (cdr ,err)))))))) 549 (signal ,err)))))))
550 550
551(defmacro process-tests--with-buffers (var &rest body) 551(defmacro process-tests--with-buffers (var &rest body)
552 "Bind VAR to nil and evaluate BODY. 552 "Bind VAR to nil and evaluate BODY.