Subject: Re: bug#32352: 27.0.50; build error

From: Eli Zaretskii <[email-masked]>
Date: Tue, 13 Nov 2018 05:35:50 +0200

> From: Noam Postavsky <[email-masked]>
> Cc: [email-masked],  Eli Zaretskii <[email-masked]>,  [email-masked],  Katsumi Yamaoka <[email-masked]>
> Date: Mon, 12 Nov 2018 20:37:09 -0500
> 
> 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

Thanks.

> I guess this could go to emacs-26

I see no need to do this on the release branch, especially since a
pretest of Emacs 26.2 is about to be produced.

> (although I'm suddenly unable to build it today, I get tons of
> "undefined reference to X" link errors (including X=main!?)).

Builds fine for me, FWIW.