From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: reftex.el autoloads Date: Sat, 19 Dec 2015 09:31:56 +0200 Message-ID: <8337uyx5ar.fsf@gnu.org> References: <87h9jqo9a5.fsf@russet.org.uk> <566B2BFC.1070802@cs.ucla.edu> <877fkj1q5j.fsf@russet.org.uk> <83si375x03.fsf@gnu.org> <8737v71oo0.fsf@russet.org.uk> <83r3ir5vrb.fsf@gnu.org> <87y4czz7ul.fsf@russet.org.uk> <83oadv58fm.fsf@gnu.org> <87h9jmks0u.fsf@russet.org.uk> <87zixexam5.fsf@russet.org.uk> <0ltwnjbj6q.fsf@fencepost.gnu.org> <87zixagvs4.fsf@russet.org.uk> <83io3xzqo3.fsf@gnu.org> <877fkcyd7r.fsf@russet.org.uk> <56743E61.8060102@cs.ucla.edu> <871tajiiir.fsf@russet.org.uk> <8360zvwipd.fsf@gnu.org> <87mvt7h0ph.fsf@russet.org.uk> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1450510302 29640 80.91.229.3 (19 Dec 2015 07:31:42 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 19 Dec 2015 07:31:42 +0000 (UTC) Cc: rgm@gnu.org, eggert@cs.ucla.edu, emacs-devel@gnu.org To: phillip.lord@russet.org.uk (Phillip Lord) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Dec 19 08:31:41 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aABzQ-0003eh-LY for ged-emacs-devel@m.gmane.org; Sat, 19 Dec 2015 08:31:40 +0100 Original-Received: from localhost ([::1]:36357 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aABzP-0002fz-S7 for ged-emacs-devel@m.gmane.org; Sat, 19 Dec 2015 02:31:39 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33682) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aABzM-0002fo-Nz for emacs-devel@gnu.org; Sat, 19 Dec 2015 02:31:37 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aABzI-00040i-FH for emacs-devel@gnu.org; Sat, 19 Dec 2015 02:31:36 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:35146) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aABzI-00040e-BU; Sat, 19 Dec 2015 02:31:32 -0500 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:2331 helo=HOME-C4E4A596F7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aABzH-0006DP-CR; Sat, 19 Dec 2015 02:31:31 -0500 In-reply-to: <87mvt7h0ph.fsf@russet.org.uk> (phillip.lord@russet.org.uk) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:196497 Archived-At: > From: phillip.lord@russet.org.uk (Phillip Lord) > Cc: , , > 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.