emacs-devel
[Top][All Lists]
Advanced

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

bootstrap (was: Emacs-diffs digest, Vol 1 #508 - 12 msgs)


From: Stefan Monnier
Subject: bootstrap (was: Emacs-diffs digest, Vol 1 #508 - 12 msgs)
Date: Tue, 26 Mar 2002 10:31:27 -0500

> I think we should do something to avoid the warning in the bootstrap 
> case, then.  Users who don't know these details might become spooked by 
> the warning, especially if they were used to get a fatal error with the 
> same language before.

An alternative is to just do

        (if ...bootstrapping...
          (setq purify-flag nil))

at the beginning of loadup.el.

> > PS: I almost got bootstrapping to work without a `bootstrap-emacs'
> >     executable (by byte-compiling with `temacs' instead)
> >     but hit a problem where `temacs -batch' freezes in call-process:
> >     the problem is that the SIGCHLD handler is not installed in that
> >     case (probably because it might introduce problems when we dump).
> 
> Yes, I think that's the reason why signals aren't caught.
> 
> >     As for why `call-process' is called: vc.el does
> >     (eval-when-compile (require 'ediff-util)) and ediff-util.el
> >     ends up loading all the ediff*.el files (also from within
> >     `eval-when-compile' clauses) and ediff-ptch.el runs patch with a few
> >     different args to determine the default value of a config variable.
> 
> We could prevent this by binding some special variables during bootstrap, no?

As I said I'd rather have less bootstrap-specific code than more, so it
doesn't sound like an attractive solution.  Other solutions are:
- create `eval-only-when-compile' since the (require 'ediff-util) is only
  done to get rid of some compiler warnings (it doesn't provide any
  macros used by vc.el as far as I can tell).

- check !noninteractive||initialized in call-process and return nil
  without running any program otherwise (since the SIGCHLD handler
  is not installed).

- check !noninteractive||initialized in call-process and install
  the SIGCHLD handler if the check fails.

Obviously the first solution is the only one that's really
non-bootstrap-specific.


        Stefan




reply via email to

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