1
Fork 0
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:
Lars Ingebrigtsen 2022-05-02 13:55:56 +02:00
parent ee913faf9a
commit f639fa9f9e

View file

@ -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.