diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2022-05-02 13:55:56 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2022-05-02 13:55:56 +0200 |
commit | f639fa9f9e2acfe9d02e2afc57f7a2cc96390f5f (patch) | |
tree | c989af14a1f610ce4fc7b282f3c57a1c2fb3b570 /lisp/emacs-lisp/edebug.el | |
parent | ee913faf9a5d266be41b33556c90b26f55d18013 (diff) | |
download | emacs-f639fa9f9e2acfe9d02e2afc57f7a2cc96390f5f.tar.gz emacs-f639fa9f9e2acfe9d02e2afc57f7a2cc96390f5f.tar.bz2 emacs-f639fa9f9e2acfe9d02e2afc57f7a2cc96390f5f.zip |
Make non-recursive error messages in edebug prettier
* lisp/emacs-lisp/edebug.el (edebug-eval-expression): Make the
error message (when recursive debugging is off) prettier.
Diffstat (limited to 'lisp/emacs-lisp/edebug.el')
-rw-r--r-- | lisp/emacs-lisp/edebug.el | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index 85545f9f351..d8b0a13c305 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el @@ -3712,14 +3712,25 @@ Return the result of the last expression." If interactive, prompt for the expression. Print result in minibuffer." (interactive (list (read--expression "Eval: "))) - (princ - (edebug-outside-excursion - (let ((result (if debug-allow-recursive-debug - (edebug-eval expr) - (edebug-safe-eval expr)))) - (values--store-value result) - (concat (edebug-safe-prin1-to-string result) - (eval-expression-print-format result)))))) + (let* ((errored nil) + (result + (edebug-outside-excursion + (let ((result (if debug-allow-recursive-debug + (edebug-eval expr) + (condition-case err + (edebug-eval expr) + (error + (setq errored + (format "%s: %s" + (get (car err) 'error-message) + (car (cdr err))))))))) + (unless errored + (values--store-value result) + (concat (edebug-safe-prin1-to-string result) + (eval-expression-print-format result))))))) + (if errored + (message "Error: %s" errored) + (princ result)))) (defun edebug-eval-last-sexp (&optional no-truncate) "Evaluate sexp before point in the outside environment. |