From: Lars Ingebrigtsen Date: Thu, 11 Jul 2019 13:42:13 +0000 (+0200) Subject: Fix C-x C-e with defvars in comments preceding X-Git-Tag: emacs-27.0.90~2008 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a87bdb8f91263c3ebe1903b82b15cd148ab09da5;p=emacs.git Fix C-x C-e with defvars in comments preceding * lisp/progmodes/elisp-mode.el (eval-sexp-add-defvars): When collecting defvars in the current buffer, ignore the ones that are in comments or strings (bug#34233). --- diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el index cb1b17b4474..ae09bfc0224 100644 --- a/lisp/progmodes/elisp-mode.el +++ b/lisp/progmodes/elisp-mode.el @@ -1179,7 +1179,11 @@ POS specifies the starting position where EXP was found and defaults to point." (let ((var (intern (match-string 1)))) (and (not (special-variable-p var)) (save-excursion - (zerop (car (syntax-ppss (match-beginning 0))))) + (let ((syntax (syntax-ppss (match-beginning 0)))) + ;; Top-level. + (and (zerop (car syntax)) + ;; Not in a comment or string. + (null (nth 8 syntax))))) (push var vars)))) `(progn ,@(mapcar (lambda (v) `(defvar ,v)) vars) ,exp)))))