From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: How does one find out what file a library has been loaded from? Date: Tue, 19 Jul 2022 15:01:12 +0000 Message-ID: References: <83bktlnuog.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2547"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Jul 19 17:02:17 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oDojp-0000RF-52 for ged-emacs-devel@m.gmane-mx.org; Tue, 19 Jul 2022 17:02:17 +0200 Original-Received: from localhost ([::1]:39920 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oDojn-0003Gy-Mp for ged-emacs-devel@m.gmane-mx.org; Tue, 19 Jul 2022 11:02:15 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38922) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oDoiw-0002UR-TB for emacs-devel@gnu.org; Tue, 19 Jul 2022 11:01:23 -0400 Original-Received: from colin.muc.de ([193.149.48.1]:38042 helo=mail.muc.de) by eggs.gnu.org with smtp (Exim 4.90_1) (envelope-from ) id 1oDoir-0006Sg-1Y for emacs-devel@gnu.org; Tue, 19 Jul 2022 11:01:22 -0400 Original-Received: (qmail 91213 invoked by uid 3782); 19 Jul 2022 15:01:13 -0000 Original-Received: from acm.muc.de (p4fe15b1b.dip0.t-ipconnect.de [79.225.91.27]) (using STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP; Tue, 19 Jul 2022 17:01:13 +0200 Original-Received: (qmail 26059 invoked by uid 1000); 19 Jul 2022 15:01:12 -0000 Content-Disposition: inline In-Reply-To: <83bktlnuog.fsf@gnu.org> X-Submission-Agent: TMDA/1.3.x (Ph3nix) X-Primary-Address: acm@muc.de Received-SPF: pass client-ip=193.149.48.1; envelope-from=acm@muc.de; helo=mail.muc.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:292272 Archived-At: Hello, Eli. On Tue, Jul 19, 2022 at 15:39:11 +0300, Eli Zaretskii wrote: > > Date: Tue, 19 Jul 2022 10:52:08 +0000 > > From: Alan Mackenzie > > Hello, Emacs. > > Forgive me if I've asked this before, but how does one determine what > > file a library has been loaded from? In particular, whether that file > > is a source file, a byte compiled file or a native compiled file. > > I've tried looking at load-history, and it tells me cc-engine was loaded > > from > > "/home/acm/emacs/emacs.git/sub-master-5/lisp/progmodes/cc-engine.elc" > > .. I think that's a lie. I suspect I'm dealing with a native compiled > > cc-engine, here. In fact, the string ".eln" doesn't occur anywhere in > > load-history, and I _know_ some of the files are native compiled - my > > build was configured with-native-compilation. > > So, how do I find this out? > What do you like to find? whether it was loaded from cc-engine.elc or > cc-engine-XXXXXX.eln? Exactly that, yes. > If so, why does it matter? It matters a great deal. There's the purely philosophical point that one should be able to control and understand ones own Emacs. A further point is that Emacs should not deceive its users. There's the point that if you're doing benchmark timings, the results are meaningless if you don't know what you're timing. The reason I asked was I was seeing a bug in what I suspected to be a ..eln, but didn't see it in .elc's, and thus suspected a native compiler bug. I've seen other things since, and don't suspect that any more. But I'd still like to be able to know what file I'm executing. -- Alan Mackenzie (Nuremberg, Germany).