From 27c93778ef15c887a9d26ba198fddbe322d58284 Mon Sep 17 00:00:00 2001 From: Alan Mackenzie Date: Wed, 2 Feb 2022 18:03:00 +0000 Subject: [PATCH] Fix bug with M-x compile-defun in a defconst/defvar * lisp/emacs-lisp/bytecomp.el (compile-defun): Have symbols-with-pos-enabled bound to non-nil when the eval takes place. --- lisp/emacs-lisp/bytecomp.el | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 9c664ff8fed..ff372151e1b 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -2198,20 +2198,20 @@ With argument ARG, insert value in current buffer after the form." (save-excursion (end-of-defun) (beginning-of-defun) - (let* ((print-symbols-bare t) + (let* ((print-symbols-bare t) ; For the final `message'. (byte-compile-current-file (current-buffer)) (byte-compile-current-buffer (current-buffer)) (start-read-position (point)) (byte-compile-last-warned-form 'nothing) + (symbols-with-pos-enabled t) (value (eval - (let ((symbols-with-pos-enabled t)) - (displaying-byte-compile-warnings - (byte-compile-sexp - (let ((form (read-positioning-symbols (current-buffer)))) - (push form byte-compile-form-stack) - (eval-sexp-add-defvars - form - start-read-position))))) + (displaying-byte-compile-warnings + (byte-compile-sexp + (let ((form (read-positioning-symbols (current-buffer)))) + (push form byte-compile-form-stack) + (eval-sexp-add-defvars + form + start-read-position)))) lexical-binding))) (cond (arg (message "Compiling from buffer... done.") -- 2.39.5