emacs-devel
[Top][All Lists]
Advanced

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

Re: Emacs-diffs digest, Vol 1 #508 - 12 msgs


From: Stefan Monnier
Subject: Re: Emacs-diffs digest, Vol 1 #508 - 12 msgs
Date: Mon, 25 Mar 2002 17:40:32 -0500

> > From: "Stefan Monnier" <monnier+gnu/address@hidden>
> > Date: Mon, 25 Mar 2002 11:29:04 -0500
> > 
> > > What is the reason for this change in src/Makefile.in?  Are you
> > > saying that the default value of PURESIZE is large enough to load
> > > *.el files in source form?
> > > 
> > >     - /* Build a temacs with a sufficiently large PURESIZE to load the
> > >     -    Lisp files from loadup.el in source form.  */
> > >     - 
> > >     - bootstrap-temacs: 
> > >     -     LC_ALL=C $(MAKE) $(MFLAGS) temacs ALL_CFLAGS="$(ALL_CFLAGS) 
> > > -DPURESIZE=5000000 -I../src"
> > >     - 
> > 
> > Overflowing the pure area is not a problem.  It's only a performance
> > issue, which is irrelevant during bootstrap.  Check my patch to
> > alloc.c committed around the same time.
> 
> Sorry, I still don't understand.  Can you please epxlain in a few
> more words?  The comment in Makefile.in seems to indicate that more
> pure storage is needed for loading *.el files--are you saying that
> the comment is inaccurate?

It is inaccurate now.  It does use more memory and can make use of
more pure memory, but that's not enough justification to build
a separate temacs.

It used to be that if there wasn't enough pure memory and we
tried to allocate some pure storage Emacs would just halt.
Now it keeps going, allocating in non-pure storage instead and
signalling that the pure storage overflowed.  This way the
use of pure storage is just an optimization issue.  So the
PURESIZE is optimized for the non-bootstrap case but still
works for the bootstrap case.

> Btw, the change in alloc.c makes the comment immediately preceding
> check_pure_size, the function you've changed, inaccurate: it still
> says we signal an error.

Oops!

> > I think it'd be a bug if compiling a .el file requires the DOC file.
> 
> I thought about a (remote) possibility that someone needs to run the
> half-bootstrapped Emacs to debug or investigate some problem.  If
> they do, they might want documentation features to work.  Not a big
> deal, obviously, but so is building DOC.

Well, if you feel strongly about it, put it back in with a little comment.
I personally would rather see less bootstrap-specific code.


        Stefan

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).
    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.




reply via email to

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