From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: phillip.lord@russet.org.uk (Phillip Lord) Newsgroups: gmane.emacs.devel Subject: Re: reftex.el autoloads Date: Sat, 19 Dec 2015 13:24:20 +0000 Message-ID: <87io3uh8qj.fsf@russet.org.uk> References: <87h9jqo9a5.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> <8337uyx5ar.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1450531487 1176 80.91.229.3 (19 Dec 2015 13:24:47 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 19 Dec 2015 13:24:47 +0000 (UTC) Cc: rgm@gnu.org, eggert@cs.ucla.edu, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Dec 19 14:24:37 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 1aAHUw-0003uI-PW for ged-emacs-devel@m.gmane.org; Sat, 19 Dec 2015 14:24:34 +0100 Original-Received: from localhost ([::1]:37364 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aAHUv-0007Td-Qe for ged-emacs-devel@m.gmane.org; Sat, 19 Dec 2015 08:24:33 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36667) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aAHUs-0007TU-9E for emacs-devel@gnu.org; Sat, 19 Dec 2015 08:24:31 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aAHUr-0000ex-Dt for emacs-devel@gnu.org; Sat, 19 Dec 2015 08:24:30 -0500 Original-Received: from cheviot22.ncl.ac.uk ([128.240.234.22]:34468) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aAHUm-0000d8-1I; Sat, 19 Dec 2015 08:24:24 -0500 Original-Received: from smtpauth-vm.ncl.ac.uk ([10.8.233.129] helo=smtpauth.ncl.ac.uk) by cheviot22.ncl.ac.uk with esmtp (Exim 4.63) (envelope-from ) id 1aAHUk-0007aT-DY; Sat, 19 Dec 2015 13:24:22 +0000 Original-Received: from cpc6-benw10-2-0-cust45.gate.cable.virginm.net ([92.238.179.46] helo=localhost) by smtpauth.ncl.ac.uk with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1aAHUj-0002e8-QU; Sat, 19 Dec 2015 13:24:21 +0000 In-Reply-To: <8337uyx5ar.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 19 Dec 2015 09:31:56 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 128.240.234.22 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:196502 Archived-At: Eli Zaretskii writes: >> 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. Indeed. It's something make just does not support well. The only solution I have is to add makefile rules for each -loaddefs.el file listing all dependencies. They don't change that often, so it's possible, but I don't think it is worth it. As I said at the beginning, personally, for the small files, I would have placed the autoloads into loaddefs.el, and for the bigger files (dired.el, reftex.el and ibuffer) I would remove this mechanism and replace it with a simple require. >> 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. I used it repeatedly to make the commits, and anyone adding new autoloads to any of the autoloaded files would find it useful. And the comment is more useful -- it too me a while to work out why the loaddefs files where NOT being produced by make autoloads But, feel free to remove it, if you wish. It's not a big deal. Phil