emacs-devel
[Top][All Lists]
Advanced

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

Re: reftex.el autoloads


From: Eli Zaretskii
Subject: Re: reftex.el autoloads
Date: Sat, 19 Dec 2015 09:31:56 +0200

> From: address@hidden (Phillip Lord)
> Cc: <address@hidden>,  <address@hidden>,  <address@hidden>
> Date: Fri, 18 Dec 2015 22:05:30 +0000
> 
> The problem is this rule.
> 
> $(lisp)/loaddefs.el: $(LOADDEFS)
>       @echo Directories for loaddefs: ${SUBDIRS_ALMOST}
>       $(AM_V_GEN)$(emacs) -l autoload \
>           --eval '(setq autoload-ensure-writable t)' \
>           --eval '(setq autoload-builtin-package-versions t)' \
>           --eval '(setq generated-autoload-file (expand-file-name 
> (unmsys--file-name "$@")))' \
>           -f batch-update-autoloads ${SUBDIRS_ALMOST}
> 
> So batch-update-autoloads only gets call if loaddefs.el is out-of-date.
> If reftex-loaddefs is out of date, then it does not, and so
> reftex-loaddefs will not get build.
> 
> The intuitive solution is do
> 
> $(lisp)/loaddefs.el $(lisp)/textmodes/reftex-loadefs.el 
> $(AND_ALL_THE_OTHERS): $(LOADDEFS)
>       @echo Directories for loaddefs: ${SUBDIRS_ALMOST}
>       $(AM_V_GEN)$(emacs) -l autoload \
>           --eval '(setq autoload-ensure-writable t)' \
>           --eval '(setq autoload-builtin-package-versions t)' \
>           --eval '(setq generated-autoload-file (expand-file-name 
> (unmsys--file-name "$@")))' \
>           -f batch-update-autoloads ${SUBDIRS_ALMOST}
> 
> but this fails because make actually runs batch-update-autoloads
> multiple times which is both wasteful and causes a race condition with
> -j.

Several alternative solutions for this were tried, and all of them
were found out as worse than the problem.

> As this doesn't work, I didn't do it (I tried it!). Instead, I added
> autoloads-force. It's ugly, but it's explicit and ugly rather than
> implicit and ugly.

This has never been a problem in practice, so I don't think that
additional rule is needed.



reply via email to

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