diff options
Diffstat (limited to 'lisp/emacs-lisp/lisp-mode.el')
-rw-r--r-- | lisp/emacs-lisp/lisp-mode.el | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 7d9fbf108dd..99b1d49f32f 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -244,11 +244,14 @@ With argument, print output into current buffer." Print value in minibuffer. With argument, insert value in current buffer after the defun." (interactive "P") - (let ((standard-output (if eval-defun-arg-internal (current-buffer) t))) - (prin1 (eval (save-excursion - (end-of-defun) - (beginning-of-defun) - (read (current-buffer))))))) + (let ((standard-output (if eval-defun-arg-internal (current-buffer) t)) + (form (save-excursion + (end-of-defun) + (beginning-of-defun) + (read (current-buffer))))) + (if (eq (car form) 'defvar) + (setq form (cons 'defconst (cdr form)))) + (prin1 (eval form)))) (defun lisp-comment-indent () (if (looking-at "\\s<\\s<\\s<") |