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.
This commit is contained in:
parent
f639fa9f9e
commit
bcdcaf0219
1 changed files with 17 additions and 11 deletions
|
@ -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")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue