(eval-last-sexp): Avoid introducing any
dynamic bindings around the evaluation of the expression.
This commit is contained in:
parent
325ba04613
commit
01d4effe81
2 changed files with 13 additions and 7 deletions
|
@ -628,13 +628,13 @@ this command arranges for all errors to enter the debugger."
|
|||
(interactive "P")
|
||||
(if (null eval-expression-debug-on-error)
|
||||
(eval-last-sexp-1 eval-last-sexp-arg-internal)
|
||||
(let ((old-value eval-last-sexp-fake-value) new-value value)
|
||||
(let ((debug-on-error old-value))
|
||||
(setq value (eval-last-sexp-1 eval-last-sexp-arg-internal))
|
||||
(setq new-value debug-on-error))
|
||||
(unless (eq old-value new-value)
|
||||
(setq debug-on-error new-value))
|
||||
value)))
|
||||
(let ((value
|
||||
(let ((debug-on-error eval-last-sexp-fake-value))
|
||||
(cons (eval-last-sexp-1 eval-last-sexp-arg-internal)
|
||||
debug-on-error))))
|
||||
(unless (eq (cdr value) eval-last-sexp-fake-value)
|
||||
(setq debug-on-error (cdr value)))
|
||||
(car value))))
|
||||
|
||||
(defun eval-defun-1 (form)
|
||||
"Treat some expressions specially.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue