summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/debug.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2022-05-02 13:59:11 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2022-05-02 13:59:11 +0200
commitbcdcaf0219906862d02f1e6ab83972c8f4d3c0ba (patch)
tree02b32586f6147d251b2e46a44b8a2ce12a05dd35 /lisp/emacs-lisp/debug.el
parentf639fa9f9e2acfe9d02e2afc57f7a2cc96390f5f (diff)
downloademacs-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.el28
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")