diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2022-05-02 13:59:11 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2022-05-02 13:59:11 +0200 |
commit | bcdcaf0219906862d02f1e6ab83972c8f4d3c0ba (patch) | |
tree | 02b32586f6147d251b2e46a44b8a2ce12a05dd35 /lisp/emacs-lisp/debug.el | |
parent | f639fa9f9e2acfe9d02e2afc57f7a2cc96390f5f (diff) | |
download | emacs-bcdcaf0219906862d02f1e6ab83972c8f4d3c0ba.tar.gz emacs-bcdcaf0219906862d02f1e6ab83972c8f4d3c0ba.tar.bz2 emacs-bcdcaf0219906862d02f1e6ab83972c8f4d3c0ba.zip |
Make the eval-in-debug error message prettier in non-recursive errors
* lisp/emacs-lisp/debug.el (debugger-eval-expression): Make the
error message (when recursive debugging is off) prettier.
Diffstat (limited to 'lisp/emacs-lisp/debug.el')
-rw-r--r-- | lisp/emacs-lisp/debug.el | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el index 91e9b0716d0..6c172d6c31d 100644 --- a/lisp/emacs-lisp/debug.el +++ b/lisp/emacs-lisp/debug.el @@ -539,17 +539,23 @@ The environment used is the one when entering the activation frame at point." (error 0)))) ;; If on first line. (base (debugger--backtrace-base))) (debugger-env-macro - (let ((val (if debug-allow-recursive-debug - (backtrace-eval exp nframe base) - (condition-case err - (backtrace-eval exp nframe base) - (error (format "%s: %s" - (get (car err) 'error-message) - (car (cdr err)))))))) - (prog1 - (debugger--print val t) - (let ((str (eval-expression-print-format val))) - (if str (princ str t)))))))) + (let* ((errored nil) + (val (if debug-allow-recursive-debug + (backtrace-eval exp nframe base) + (condition-case err + (backtrace-eval exp nframe base) + (error (setq errored + (format "%s: %s" + (get (car err) 'error-message) + (car (cdr err))))))))) + (if errored + (progn + (message "Error: %s" errored) + nil) + (prog1 + (debugger--print val t) + (let ((str (eval-expression-print-format val))) + (if str (princ str t))))))))) (define-obsolete-function-alias 'debugger-toggle-locals 'backtrace-toggle-locals "28.1") |