From: Juri Linkov Date: Sun, 27 May 2012 09:45:54 +0000 (+0300) Subject: * lisp/emacs-lisp/lisp-mode.el (eval-defun-2): Use `eval-sexp-add-defvars' X-Git-Tag: emacs-24.2.90~471^2~6^2~82 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e4d4f53985fc9ab929f063f63a173a9114d3beb6;p=emacs.git * lisp/emacs-lisp/lisp-mode.el (eval-defun-2): Use `eval-sexp-add-defvars' after the `eval-defun-1' specialcaseing like in `edebug-eval-defun'. * lisp/emacs-lisp/edebug.el (edebug-eval-defun): Set `face-documentation' like in `eval-defun-1'. Fixes: debbugs:10181 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3a71d8edfa5..7a22046fba6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,12 @@ +2012-05-27 Juri Linkov + + * emacs-lisp/lisp-mode.el (eval-defun-2): Use `eval-sexp-add-defvars' + after the `eval-defun-1' specialcaseing + like in `edebug-eval-defun' (bug#10181). + + * emacs-lisp/edebug.el (edebug-eval-defun): Set `face-documentation' + like in `eval-defun-1'. + 2012-05-27 Eli Zaretskii * mail/sendmail.el (mail-yank-region): Recognize diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index 9d3ee307083..ee5e5d0ff89 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el @@ -527,6 +527,7 @@ the minibuffer." (setq face-new-frame-defaults (assq-delete-all (nth 1 form) face-new-frame-defaults)) (put (nth 1 form) 'face-defface-spec nil) + (put (nth 1 form) 'face-documentation (nth 3 form)) ;; See comments in `eval-defun-1' for purpose of code below (setq form (prog1 `(prog1 ,form (put ',(nth 1 form) 'saved-face diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index d76c1ad3e72..973d57d4210 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -829,10 +829,10 @@ Return the result of evaluation." (end-of-defun) (beginning-of-defun) (setq beg (point)) - (setq form (eval-sexp-add-defvars (read (current-buffer)))) + (setq form (read (current-buffer))) (setq end (point))) ;; Alter the form if necessary. - (setq form (eval-defun-1 (macroexpand form))) + (setq form (eval-sexp-add-defvars (eval-defun-1 (macroexpand form)))) (list beg end standard-output `(lambda (ignore) ;; Skipping to the end of the specified region