From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: bug#15888: 24.3.50; Eval-after-load eval'ed twice Date: Wed, 04 Dec 2013 22:35:05 +0100 Message-ID: <87mwkguwom.fsf@gmail.com> References: <868uws6lgt.fsf@somewhere.org> <86ob5mxktp.fsf@somewhere.org> <4jppq1ha35.fsf@fencepost.gnu.org> <86pppwkvhg.fsf__36548.772143624$1384891681$gmane$org@somewhere.org> <87txf71zv9.fsf@gmail.com> <87iovj6wnq.fsf@gmail.com> <86wqjkjqbc.fsf@somewhere.org> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46740) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VoK64-0004lr-GH for emacs-orgmode@gnu.org; Wed, 04 Dec 2013 16:35:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VoK5w-0002dO-I9 for emacs-orgmode@gnu.org; Wed, 04 Dec 2013 16:35:03 -0500 Received: from mail-we0-x22d.google.com ([2a00:1450:400c:c03::22d]:63566) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VoK5w-0002d3-BW for emacs-orgmode@gnu.org; Wed, 04 Dec 2013 16:34:56 -0500 Received: by mail-we0-f173.google.com with SMTP id u57so10155960wes.32 for ; Wed, 04 Dec 2013 13:34:55 -0800 (PST) In-Reply-To: <86wqjkjqbc.fsf@somewhere.org> (Sebastien Vauban's message of "Wed, 04 Dec 2013 21:48:07 +0100") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Sebastien Vauban Cc: Nick Dokos , emacs-orgmode@gnu.org, 15888@debbugs.gnu.org Hello, "Sebastien Vauban" writes: > You say that opening an Org file requires first `ob-lob' before *providing* > `org', right? [1] Correct. > IIUC, here are all the steps involved: > > 1. an Org file is opened > 2. org.el is required -- but not yet provided at all, so loaded a first time > 3. when loading it, it requires first extra packages; among others (via some > call tree), ob-lob.el -- see [1] > 4. ob-lob.el is then loaded, and in fine provided > 5. eval-after-load "ob-lob" is run straight away, and tries to open an Org file > 6. org.el is hence required -- but it still is not yet provided, so loaded a > second time > 7. at some point, org.el is provided for real > 8. Eval-after-load "org" is run a first time, so are hooks > 9. Eval-after-load "org" is run a second time, as the file has been loaded > twice That's right. > IOW, isn't the problem that the `eval-after-load' is RUN AFTER EACH `provide' of > some lib, not after the FIRST `provide' of that lib? It seems to be a feature. See `after-load-alist' docstring. Regards, -- Nicolas Goaziou