From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: How does one find out what file a library has been loaded from? Date: Tue, 19 Jul 2022 22:13:53 +0300 Message-ID: <83fsiwncem.fsf@gnu.org> References: <83bktlnuog.fsf@gnu.org> <83sfmxm79z.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="3571"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Alan Mackenzie Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Jul 19 21:15:32 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 1oDsgu-0000oQ-NM for ged-emacs-devel@m.gmane-mx.org; Tue, 19 Jul 2022 21:15:32 +0200 Original-Received: from localhost ([::1]:51398 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oDsgt-0004HY-Pn for ged-emacs-devel@m.gmane-mx.org; Tue, 19 Jul 2022 15:15:31 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58076) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oDsfX-0003a6-Fq for emacs-devel@gnu.org; Tue, 19 Jul 2022 15:14:07 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:42098) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oDsfW-0004GH-Fd; Tue, 19 Jul 2022 15:14:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=Ekuaq6MiTnAN888Ce0vVCkWS5M0YoxQ9o/3NNnN9j8Q=; b=aqa6Prk8PKZB rreZe5jZmsSkm+jYOGWUCFtEXcLwZZjFZ/6EV1whJSNupSLvJLleDiFWE9SJKAABM1ZM0oRV5K7c/ lhw23CjJvEdO0ROeg1t7ecFMkYvGTXiBSfsAP6MVqGcvXKN3v6vlh710x0BUmwuzdWpPdK0z8RA1H mM4LQ5hYnAQAg6eOZrH8Psf5uWrXzIcShTBb6ZC0UyIgkzcw3wYcjTQAeazOQx0XxGrrmi6I0JLOP 9WEhpmkHj0JfnWcl2ZODFNJxDsRcwUOyJm9lktMi05o8VqmRgzPVuJro8N/nh9y9Ys8mJSzWQqeZ0 cifZZQ48P2gvKwJKhI40eg==; Original-Received: from [87.69.77.57] (port=4723 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oDsfV-0006Zf-ON; Tue, 19 Jul 2022 15:14:06 -0400 In-Reply-To: (message from Alan Mackenzie on Tue, 19 Jul 2022 17:07:09 +0000) 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:292291 Archived-At: > Date: Tue, 19 Jul 2022 17:07:09 +0000 > Cc: emacs-devel@gnu.org > From: Alan Mackenzie > > > > A further point is that Emacs should not deceive its users. > > > It doesn't. > > It most assuredly does. The doc string for load-history says that > > FILE-NAME is the name of a file that has been loaded into Emacs. > > This is untrue. Not really (please take a good look at what the code actually does). But if you are bothered by that detail, I'm okay with having a note there regarding *.eln files. (Somehow, I'm not sure you will settle for that.) > > You are timing compiled Lisp code. How exactly was it compiled > > shouldn't matter _in_principle_, .... > > You might well want to compare the speed of byte compiled code with the > same source native compiled, as many of us have already attempted to do. If you want to do that, just knowing what was actually loaded won't help you, because you will have to actually _prevent_ Emacs from loading the .eln files, and that's not easy and currently not really supported on the user level, at least not conveniently. So you will have to rename directories and stuff, and once you are there, load-history is the last thing you will worry about, because you will know in advance what Emacs loads, as you force it to do that yourself. > Or do you mean "difficult means"? Let me propose that there should be > an easy way of finding this out. Andrea gave you one way; I gave another. None of them is difficult, please don't exaggerate. > It is clear that load-history no longer supports all its use cases. > Andrea has reported that trying to update it lead to too many problems. Yes, and therefore we won't change load-history any time soon. Please use the other ways that were proposed, even if you for some reason I cannot understand don't like them. > So, how about a new additional variable called something like > load-file-history which would be like load-history, just it would store > the name of the source file (if known) as well as the name of the loaded > file? No, we won't have that. It isn't needed, from my POV, and having yet another load-related path list will complicate the part of Emacs that is already mind-boggling. Again, you have been pointed to two ways of getting the information you want, and that is more than enough for a corner use case such as this one.