[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#32352: 27.0.50; build error

From: Noam Postavsky
Subject: bug#32352: 27.0.50; build error
Date: Mon, 12 Nov 2018 20:37:09 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Glenn Morris <address@hidden> writes:

> I seem to be able to reproduce it at will with (after a bootstrap):
> touch lisp/files.el src/emacs.c 
> rm src/bootstrap-emacs
> make

Ah right, I missed removing bootstrap-emacs.

> which dies doing
> ./src/bootstrap-emacs -batch -f batch-byte-compile lisp/files.el
> at (alist-get class dir-locals-class-alist) when gv.elc loads.
> (It's fine if you load bytecomp.el instead of .elc.)

Not entirely sure about bytecomp.el vs elc, but the problem seems to be
that files.el binds read-circle over too much code, and gv.elc has some
circular structure in it.  The following patch fixes it:

--- c/lisp/files.el
+++ i/lisp/files.el
@@ -4099,7 +4099,6 @@ dir-locals-read-from-dir
 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)
@@ -4114,7 +4113,8 @@ dir-locals-read-from-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

I guess this could go to emacs-26 (although I'm suddenly unable to build
it today, I get tons of "undefined reference to X" link errors
(including X=main!?)).

reply via email to

[Prev in Thread] Current Thread [Next in Thread]