[Top][All Lists]

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

Re: replacing ldefs-boot.el

From: Noam Postavsky
Subject: Re: replacing ldefs-boot.el
Date: Fri, 25 Nov 2016 16:11:32 -0500

On Mon, Nov 21, 2016 at 5:03 PM, Phillip Lord
<address@hidden> wrote:
> ldefs-boot-auto.el is now autogenerated from a make target at top level.
> It works but augmenting eval.c, so that when an autoload happens, Emacs
> writes to system stdout the equivalent autoload form. A complete
> bootstrap build will, therefore, print all the autoloads that are
> actually used. There's some lisp in admin/ldefs-clean.el which removes
> everything except these lisp forms.
> Advantages:
>  - we still have an autogenerated file in the repo, but it is very much
>    smaller (160 lines vs 40k).
> Disadvantages:
>  - generating ldefs-boot-auto is a lot slower (i.e. cp loaddefs.el
>    ldefs-boot.el vs a complete bootstrap build of Emacs).

Is it possible another disadvantage would be that ldefs-boot-auto
requires regeneration more often (because the list of autoloads used
is more precise)?

I notice several almost duplicated lines in ldefs-boot-auto.el, like

(autoload 'byte-compile "bytecomp" nil nil nil)
(autoload 'byte-compile "bytecomp" nil nil t)

byte-compile isn't a macro; I think you should put your addition to
Fautoload_do_load after the "if (EQ (macro_only, Qmacro))" check to
avoid falsely identifying macros.

Instead of printing the autoload lines directly to stderr and then
cleaning up afterwards, wouldn't it be simpler to collect them into a
hashtable, and write to a file at the end?

And doesn't this change in Makefile.in break parallel 'make bootstrap'

-bootstrap: bootstrap-clean
+bootstrap: bootstrap-clean bootstrap-build

reply via email to

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