mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-06 06:20:55 -08:00
Make non-recursive error messages in edebug prettier
* lisp/emacs-lisp/edebug.el (edebug-eval-expression): Make the error message (when recursive debugging is off) prettier.
This commit is contained in:
parent
ee913faf9a
commit
f639fa9f9e
1 changed files with 19 additions and 8 deletions
|
|
@ -3712,14 +3712,25 @@ Return the result of the last expression."
|
|||
If interactive, prompt for the expression.
|
||||
Print result in minibuffer."
|
||||
(interactive (list (read--expression "Eval: ")))
|
||||
(princ
|
||||
(edebug-outside-excursion
|
||||
(let ((result (if debug-allow-recursive-debug
|
||||
(edebug-eval expr)
|
||||
(edebug-safe-eval expr))))
|
||||
(values--store-value result)
|
||||
(concat (edebug-safe-prin1-to-string result)
|
||||
(eval-expression-print-format result))))))
|
||||
(let* ((errored nil)
|
||||
(result
|
||||
(edebug-outside-excursion
|
||||
(let ((result (if debug-allow-recursive-debug
|
||||
(edebug-eval expr)
|
||||
(condition-case err
|
||||
(edebug-eval expr)
|
||||
(error
|
||||
(setq errored
|
||||
(format "%s: %s"
|
||||
(get (car err) 'error-message)
|
||||
(car (cdr err)))))))))
|
||||
(unless errored
|
||||
(values--store-value result)
|
||||
(concat (edebug-safe-prin1-to-string result)
|
||||
(eval-expression-print-format result)))))))
|
||||
(if errored
|
||||
(message "Error: %s" errored)
|
||||
(princ result))))
|
||||
|
||||
(defun edebug-eval-last-sexp (&optional no-truncate)
|
||||
"Evaluate sexp before point in the outside environment.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue