]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix build fail on files.el change (Bug#32352)
authorNoam Postavsky <npostavs@gmail.com>
Tue, 13 Nov 2018 13:25:35 +0000 (08:25 -0500)
committerNoam Postavsky <npostavs@gmail.com>
Tue, 13 Nov 2018 13:25:35 +0000 (08:25 -0500)
* lisp/files.el (dir-locals-read-from-dir): Reduce scope of
`read-circle' let-binding to go around the `read' call only.
Otherwise it can interfere with loading of files which use the
circular read syntax (e.g., executing the setf expression in
`dir-locals-set-class-variables' may require loading gv.elc).

lisp/files.el

index 47f7acf92cc52e3a4109cb56f70711f9146a7c31..cfc178738c7b454e47dd1388211b2c24c97e31dc 100644 (file)
@@ -4096,7 +4096,6 @@ apply).
 Return the new class name, which is a symbol named DIR."
   (let* ((class-name (intern dir))
          (files (dir-locals--all-files dir))
-         (read-circle nil)
         ;; If there was a problem, use the values we could get but
         ;; don't let the cache prevent future reads.
         (latest 0) (success 0)
@@ -4111,7 +4110,8 @@ Return the new class name, which is a symbol named DIR."
           (insert-file-contents file)
           (let ((newvars
                  (condition-case-unless-debug nil
-                     (read (current-buffer))
+                     (let ((read-circle nil))
+                       (read (current-buffer)))
                    (end-of-file nil))))
             (setq variables
                   ;; Try and avoid loading `map' since that also loads cl-lib