(eval-last-sexp): Fix bug#71774

* lisp/progmodes/elisp-mode.el (eval-last-sexp): Set `values` only
when `eval-expression-debug-on-error` is nil.
This commit is contained in:
Stefan Monnier 2024-06-27 14:39:27 -04:00
parent 6d94090cad
commit bf8c9f702b

View file

@ -1633,7 +1633,10 @@ integer value is also printed as a character of that codepoint.
If `eval-expression-debug-on-error' is non-nil, which is the default,
this command arranges for all errors to enter the debugger."
(interactive "P")
(values--store-value
(funcall
;; Not sure why commit 4428c27c1ae7d stored into `values' only when
;; `eval-expression-debug-on-error' was nil, but let's preserve that.
(if eval-expression-debug-on-error #'identity #'values--store-value)
(handler-bind ((error (if eval-expression-debug-on-error
#'eval-expression--debug #'ignore)))
(elisp--eval-last-sexp eval-last-sexp-arg-internal))))