all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: phillip.lord@russet.org.uk (Phillip Lord)
To: Eli Zaretskii <eliz@gnu.org>
Cc: rgm@gnu.org, eggert@cs.ucla.edu, emacs-devel@gnu.org
Subject: Re: reftex.el autoloads
Date: Fri, 18 Dec 2015 22:05:30 +0000	[thread overview]
Message-ID: <87mvt7h0ph.fsf@russet.org.uk> (raw)
In-Reply-To: <8360zvwipd.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 18 Dec 2015 23:27:42 +0200")

Eli Zaretskii <eliz@gnu.org> writes:
>> > Also, there shouldn't need to be an autoloads-force at all: if some
>> > other files need to be built they should be listed as dependencies of
>> > autoload.
>> 
>> 
>> Indeed. It's always been this way, though -- from a non-bootstrap on
>> emacs-25 try
>
> Any reason why you need explicit Makefile targets for the new files?
> Why not model them on calc/calc-loaddefs.el, which has not target in
> the Makefile at all?

Ah, just realised what you were asking.

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.

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.

Phil



  parent reply	other threads:[~2015-12-18 22:05 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-10 11:03 reftex.el autoloads Phillip Lord
2015-12-10 14:48 ` Artur Malabarba
2015-12-10 16:28 ` Eli Zaretskii
2015-12-10 18:52   ` Paul Eggert
2015-12-10 22:07     ` Phillip Lord
2015-12-11  7:26       ` Eli Zaretskii
2015-12-11 15:38         ` Phillip Lord
2015-12-10 22:03   ` Phillip Lord
2015-12-11  7:24     ` Eli Zaretskii
2015-12-11 15:35       ` Phillip Lord
2015-12-11 16:18         ` Eli Zaretskii
2015-12-11 17:08           ` Phillip Lord
2015-12-11 17:46             ` Glenn Morris
2015-12-11 18:20               ` Phillip Lord
2015-12-11 20:03               ` Paul Eggert
2015-12-12 18:24                 ` Phillip Lord
2015-12-12 18:42                   ` Eli Zaretskii
2015-12-12 18:56                     ` Phillip Lord
2015-12-12 19:09                       ` Eli Zaretskii
2015-12-12 21:15                         ` Phillip Lord
2015-12-13  3:33                           ` Eli Zaretskii
2015-12-13 20:33                             ` Phillip Lord
2015-12-13 21:50                               ` Glenn Morris
2015-12-13 22:11                                 ` Phillip Lord
2015-12-15 19:33                                   ` Glenn Morris
2015-12-16 17:15                                     ` Phillip Lord
2015-12-17  2:15                                       ` Glenn Morris
2015-12-17  3:42                                         ` Eli Zaretskii
2015-12-17 16:07                                           ` John Wiegley
2015-12-17 21:31                                             ` Phillip Lord
2015-12-18 16:39                                               ` Glenn Morris
2015-12-18 17:12                                                 ` Paul Eggert
2015-12-18 20:55                                                   ` Phillip Lord
2015-12-18 21:27                                                     ` Eli Zaretskii
2015-12-18 21:51                                                       ` Phillip Lord
2015-12-19  7:29                                                         ` Eli Zaretskii
2015-12-18 22:05                                                       ` Phillip Lord [this message]
2015-12-19  7:31                                                         ` Eli Zaretskii
2015-12-19 13:24                                                           ` Phillip Lord
2015-12-20 12:41                                                   ` Phillip Lord
2015-12-20 15:59                                                     ` Eli Zaretskii
2015-12-20 18:41                                                       ` Phillip Lord
2015-12-20 18:37                                                     ` Glenn Morris
2015-12-20 23:04                                                       ` Phillip Lord
2015-12-21  0:24                                                         ` Glenn Morris
2015-12-21 10:32                                                           ` Phillip Lord
2015-12-22 10:55                                                           ` Phillip Lord
2015-12-21  6:45                                                     ` martin rudalics
2015-12-21 10:31                                                       ` Phillip Lord
2015-12-18 20:45                                                 ` Phillip Lord
2015-12-18 21:22                                                 ` Phillip Lord
2015-12-20 18:41                                                   ` Glenn Morris
2015-12-20 19:05                                                     ` Eli Zaretskii
2015-12-21  0:22                                                       ` Glenn Morris
2015-12-20 23:15                                                     ` Phillip Lord
2015-12-21  0:29                                                       ` Glenn Morris
2015-12-21 10:52                                                         ` Phillip Lord
2015-12-17  5:57                                         ` Paul Eggert
2015-12-17 12:07                                           ` Phillip Lord
2015-12-11 17:34       ` David Engster
2015-12-11 17:39       ` Glenn Morris

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mvt7h0ph.fsf@russet.org.uk \
    --to=phillip.lord@russet.org.uk \
    --cc=eggert@cs.ucla.edu \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=rgm@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.