diff options
| author | Lars Ingebrigtsen | 2022-05-02 13:59:11 +0200 |
|---|---|---|
| committer | Lars Ingebrigtsen | 2022-05-02 13:59:11 +0200 |
| commit | bcdcaf0219906862d02f1e6ab83972c8f4d3c0ba (patch) | |
| tree | 02b32586f6147d251b2e46a44b8a2ce12a05dd35 | |
| parent | f639fa9f9e2acfe9d02e2afc57f7a2cc96390f5f (diff) | |
| download | emacs-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.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." | |||
| 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") |