From cfe158ab3463c1ed31e78719daaafaedb875bea1 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Fri, 18 Sep 1992 18:47:19 +0000 Subject: entered into RCS --- lisp/emacs-lisp/lisp-mode.el | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'lisp/emacs-lisp/lisp-mode.el') diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 2e4716f3256..b0f823e0103 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -215,13 +215,16 @@ if that value is non-nil." "Evaluate sexp before point; print value in minibuffer. With argument, print output into current buffer." (interactive "P") - (let ((standard-output (if arg (current-buffer) t))) + (let ((standard-output (if arg (current-buffer) t)) + (opoint (point))) (prin1 (let ((stab (syntax-table))) (eval (unwind-protect (save-excursion (set-syntax-table emacs-lisp-mode-syntax-table) (forward-sexp -1) - (read (current-buffer))) + (save-restriction + (narrow-to-region (point-min) opoint) + (read (current-buffer)))) (set-syntax-table stab))))))) (defun eval-defun (arg) @@ -481,6 +484,7 @@ of the start of the containing expression." (put 'save-excursion 'lisp-indent-function 0) (put 'save-window-excursion 'lisp-indent-function 0) (put 'save-restriction 'lisp-indent-function 0) +(put 'save-match-data 'lisp-indent-function 0) (put 'let 'lisp-indent-function 1) (put 'let* 'lisp-indent-function 1) (put 'while 'lisp-indent-function 1) -- cgit v1.2.3