aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Ingebrigtsen2022-05-02 13:59:11 +0200
committerLars Ingebrigtsen2022-05-02 13:59:11 +0200
commitbcdcaf0219906862d02f1e6ab83972c8f4d3c0ba (patch)
tree02b32586f6147d251b2e46a44b8a2ce12a05dd35
parentf639fa9f9e2acfe9d02e2afc57f7a2cc96390f5f (diff)
downloademacs-bcdcaf0219906862d02f1e6ab83972c8f4d3c0ba.tar.gz
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.
-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."
539 (error 0)))) ;; If on first line. 539 (error 0)))) ;; If on first line.
540 (base (debugger--backtrace-base))) 540 (base (debugger--backtrace-base)))
541 (debugger-env-macro 541 (debugger-env-macro
542 (let ((val (if debug-allow-recursive-debug 542 (let* ((errored nil)
543 (backtrace-eval exp nframe base) 543 (val (if debug-allow-recursive-debug
544 (condition-case err 544 (backtrace-eval exp nframe base)
545 (backtrace-eval exp nframe base) 545 (condition-case err
546 (error (format "%s: %s" 546 (backtrace-eval exp nframe base)
547 (get (car err) 'error-message) 547 (error (setq errored
548 (car (cdr err)))))))) 548 (format "%s: %s"
549 (prog1 549 (get (car err) 'error-message)
550 (debugger--print val t) 550 (car (cdr err)))))))))
551 (let ((str (eval-expression-print-format val))) 551 (if errored
552 (if str (princ str t)))))))) 552 (progn
553 (message "Error: %s" errored)
554 nil)
555 (prog1
556 (debugger--print val t)
557 (let ((str (eval-expression-print-format val)))
558 (if str (princ str t)))))))))
553 559
554(define-obsolete-function-alias 'debugger-toggle-locals 560(define-obsolete-function-alias 'debugger-toggle-locals
555 'backtrace-toggle-locals "28.1") 561 'backtrace-toggle-locals "28.1")