aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/emacs-lisp/edebug.el
diff options
context:
space:
mode:
authorStefan Monnier2026-03-08 23:28:11 -0400
committerStefan Monnier2026-03-08 23:28:11 -0400
commit225977cda7c819c3bbf018d870c0eedfa92023bd (patch)
treeb81e3e98b3cb651f47ddc96bb926ec62fe0d5fa7 /lisp/emacs-lisp/edebug.el
parent0349286fb6c4d4b4c67b5ae0e51e8ece196fbfb9 (diff)
downloademacs-feature/error-API.tar.gz
emacs-feature/error-API.zip
Use the new error API functionsfeature/error-API
* lisp/epa-file.el (epa-file--find-file-not-found-function): Use `error-slot-value` and `error-data`. (epa-file-insert-file-contents): Use `error-has-type-p`, `error-slot-value`, and `error-data`. * lisp/jka-compr.el (jka-compr-insert-file-contents): Use `error-has-type-p` and `error-slot-value` as well as new re-signaling form of `signal`. * lisp/simple.el (minibuffer-error-function): Use `error-has-type-p`. * lisp/startup.el (startup--load-user-init-file): Use `error-message-string`. (command-line): Use `error-has-type-p` and `error-message-string`. * lisp/type-break.el (type-break-demo-life): Use `error-message-string`. * lisp/emacs-lisp/bytecomp.el (batch-byte-compile-file): Use `error-message-string` and `error-has-type-p`. * lisp/emacs-lisp/edebug.el (edebug-safe-eval, edebug-report-error) (edebug-eval-expression): * lisp/emacs-lisp/debug.el (debugger-eval-expression): Use `error-message-string`. * lisp/emacs-lisp/ert.el (ert--should-error-handle-error): Use `error-has-type-p` and `error-type`. * lisp/net/sasl.el (sasl-error): Use `define-error`. * lisp/net/tramp-compat.el (tramp-error-type-p): New function. (tramp-permission-denied, tramp-compat-permission-denied): Use it. * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Use `error-type-p`.
Diffstat (limited to 'lisp/emacs-lisp/edebug.el')
-rw-r--r--lisp/emacs-lisp/edebug.el18
1 files changed, 3 insertions, 15 deletions
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index 5cb781cb39f..3bb12e18842 100644
--- a/lisp/emacs-lisp/edebug.el
+++ b/lisp/emacs-lisp/edebug.el
@@ -3745,9 +3745,7 @@ Return the result of the last expression."
3745 ;; If there is an error, a string is returned describing the error. 3745 ;; If there is an error, a string is returned describing the error.
3746 (condition-case edebug-err 3746 (condition-case edebug-err
3747 (edebug-eval expr) 3747 (edebug-eval expr)
3748 (error (edebug-format "%s: %s" ;; could 3748 (error (error-message-string edebug-err))))
3749 (get (car edebug-err) 'error-message)
3750 (car (cdr edebug-err))))))
3751 3749
3752;;; Printing 3750;;; Printing
3753 3751
@@ -3755,14 +3753,7 @@ Return the result of the last expression."
3755(defun edebug-report-error (value) 3753(defun edebug-report-error (value)
3756 ;; Print an error message like command level does. 3754 ;; Print an error message like command level does.
3757 ;; This also prints the error name if it has no error-message. 3755 ;; This also prints the error name if it has no error-message.
3758 (message "%s: %s" 3756 (message "%s" (error-message-string value)))
3759 (or (get (car value) 'error-message)
3760 (format "peculiar error (%s)" (car value)))
3761 (mapconcat (lambda (edebug-arg)
3762 ;; continuing after an error may
3763 ;; complain about edebug-arg. why??
3764 (prin1-to-string edebug-arg))
3765 (cdr value) ", ")))
3766 3757
3767;; Alternatively, we could change the definition of 3758;; Alternatively, we could change the definition of
3768;; edebug-safe-prin1-to-string to only use these if defined. 3759;; edebug-safe-prin1-to-string to only use these if defined.
@@ -3812,10 +3803,7 @@ this is the prefix key.)"
3812 (condition-case err 3803 (condition-case err
3813 (edebug-eval expr) 3804 (edebug-eval expr)
3814 (error 3805 (error
3815 (setq errored 3806 (setq errored (error-message-string err)))))))
3816 (format "%s: %s"
3817 (get (car err) 'error-message)
3818 (car (cdr err)))))))))
3819 (result 3807 (result
3820 (unless errored 3808 (unless errored
3821 (values--store-value value) 3809 (values--store-value value)