Don't use `values' in elisp--eval-defun

* lisp/progmodes/elisp-mode.el (elisp--eval-defun): Don't use
`values', since it's being deprecated (bug#22066).
This commit is contained in:
Lars Ingebrigtsen 2021-02-09 08:32:40 +01:00
parent fe449d8e08
commit 900ed3ad84

View file

@ -1339,7 +1339,8 @@ Return the result of evaluation."
;; printing, not while evaluating.
(let ((debug-on-error eval-expression-debug-on-error)
(print-length eval-expression-print-length)
(print-level eval-expression-print-level))
(print-level eval-expression-print-level)
elisp--eval-defun-result)
(save-excursion
;; Arrange for eval-region to "read" the (possibly) altered form.
;; eval-region handles recording which file defines a function or
@ -1355,17 +1356,18 @@ Return the result of evaluation."
(setq end (point)))
;; Alter the form if necessary.
(let ((form (eval-sexp-add-defvars
(elisp--eval-defun-1 (macroexpand form)))))
(elisp--eval-defun-1
(macroexpand
`(setq elisp--eval-defun-result ,form))))))
(eval-region beg end standard-output
(lambda (_ignore)
;; Skipping to the end of the specified region
;; will make eval-region return.
(goto-char end)
form))))))
(let ((str (eval-expression-print-format (car values))))
(if str (princ str)))
;; The result of evaluation has been put onto VALUES. So return it.
(car values))
form)))))
(let ((str (eval-expression-print-format elisp--eval-defun-result)))
(if str (princ str)))
elisp--eval-defun-result))
(defun eval-defun (edebug-it)
"Evaluate the top-level form containing point, or after point.