]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't use 'load-read-function' in byte-compile-from-buffer
authorAlan Mackenzie <acm@muc.de>
Sat, 22 Jan 2022 17:48:46 +0000 (17:48 +0000)
committerAlan Mackenzie <acm@muc.de>
Sat, 22 Jan 2022 17:48:46 +0000 (17:48 +0000)
* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Call
read-positioning-symbols directly, rather than binding load-read-function to
it.  This is so that a lower level use of load-read-function will not return a
form containing symbols with position.

lisp/emacs-lisp/bytecomp.el

index 903dd50e34dc64a2c9de6815501701045aa7f75a..794dc531ea21a6ac6911691b7367f9faf42fd10e 100644 (file)
@@ -2303,8 +2303,11 @@ With argument ARG, insert value in current buffer after the form."
                   (forward-line 1))
                 (not (eobp)))
           (let* ((lread--unescaped-character-literals nil)
-                 (load-read-function #'read-positioning-symbols)
-                 (form (funcall load-read-function inbuffer))
+                 ;; Don't bind `load-read-function' to
+                 ;; `read-positioning-symbols' here.  Calls to `read'
+                 ;; at a lower level must not get symbols with
+                 ;; position.
+                 (form (read-positioning-symbols inbuffer))
                  (warning (byte-run--unescaped-character-literals-warning)))
             (when warning (byte-compile-warn-x form "%s" warning))
            (byte-compile-toplevel-file-form form)))