emacs-devel
[Top][All Lists]
Advanced

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

Re: Loading tramp for dump goes into infinite regress


From: Stefan Monnier
Subject: Re: Loading tramp for dump goes into infinite regress
Date: Mon, 25 Jul 2022 12:54:47 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

> Otherwise, I was able to resolve the various issues (including some
> extensive surgery on vc/ediff-X files to stamp out the circular loading).
> I am going to have to do a real bootstrap to avoid the "incoherent eln"
> error, though, and somehow force native compilation for all the libraries
> loaded in the dump (that are not on the compiler's "forbidden" list,
> anyway).

BTW, I don't really understand why you're bumping into circularity issue
with things like ediff.  I do know it has circularity issues, but they
only affect compilation, AFAIK.

So, I'm wondering: do you include "the world" in both dumps (the
first, done to build `src/bootstrap-emacs.pdmp`, and the second to
build the final `src/emacs.pdmp`) or do you include it only
in the second dump?

Looking at `lisp/loadup.el`, it seems that the normal way is to dump
`site-load.el` in both cases, but that would indeed introduce more
difficulties than needed: we should only load `site-load.el` during the
second dump, so the bootstrap itself is not affected.

IOW, my crystal ball suggests you try the patch below.


        Stefan


diff --git a/lisp/loadup.el b/lisp/loadup.el
index 21a87dbd77b..63c5bc2adec 100644
--- a/lisp/loadup.el
+++ b/lisp/loadup.el
@@ -387,15 +386,16 @@
 ;; you may load them with a "site-load.el" file.
 ;; But you must also cause them to be scanned when the DOC file
 ;; is generated.
-(let ((lp load-path))
-  (load "site-load" t)
-  ;; We reset load-path after dumping.
-  ;; For a permanent change in load-path, use configure's
-  ;; --enable-locallisppath option.
-  ;; See https://debbugs.gnu.org/16107 for more details.
-  (or (equal lp load-path)
-      (message "Warning: Change in load-path due to site-load will be \
-lost after dumping")))
+(unless (member dump-mode '("bootstrap" "pbootstrap"))
+  (let ((lp load-path))
+    (load "site-load" t)
+    ;; We reset load-path after dumping.
+    ;; For a permanent change in load-path, use configure's
+    ;; --enable-locallisppath option.
+    ;; See https://debbugs.gnu.org/16107 for more details.
+    (or (equal lp load-path)
+        (message "Warning: Change in load-path due to site-load will be \
+lost after dumping"))))
 
 ;; Used by `kill-buffer', for instance.
 (load "emacs-lisp/rmc")




reply via email to

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