From 197bf4eaac0ed98549f4343a653ba21aac47c855 Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Tue, 13 Nov 2018 08:25:35 -0500 Subject: [PATCH] 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). --- lisp/files.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/files.el b/lisp/files.el index 47f7acf92cc..cfc178738c7 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -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 -- 2.39.2