Fix build fail on files.el change (Bug#32352)

* 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).
This commit is contained in:
Noam Postavsky 2018-11-13 08:25:35 -05:00
parent b8d5075476
commit 197bf4eaac

View 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