From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Andrea Corallo Newsgroups: gmane.emacs.devel Subject: Re: How does one find out what file a library has been loaded from? Date: Sun, 24 Jul 2022 17:46:02 +0000 Message-ID: References: <83bktlnuog.fsf@gnu.org> <83ilnmfq9t.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26793"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: acm@muc.de, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Jul 24 19:48:00 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 1oFfhv-0006lp-Ug for ged-emacs-devel@m.gmane-mx.org; Sun, 24 Jul 2022 19:47:59 +0200 Original-Received: from localhost ([::1]:32994 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oFfhu-0000ho-Fr for ged-emacs-devel@m.gmane-mx.org; Sun, 24 Jul 2022 13:47:58 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:36720) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oFfgF-0007qs-Cn for emacs-devel@gnu.org; Sun, 24 Jul 2022 13:46:15 -0400 Original-Received: from mx.sdf.org ([205.166.94.24]:59791) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oFfgA-0002QK-2I; Sun, 24 Jul 2022 13:46:12 -0400 Original-Received: from ma.sdf.org (ma.sdf.org [205.166.94.33]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 26OHk1Ri000442 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Sun, 24 Jul 2022 17:46:02 GMT In-Reply-To: <83ilnmfq9t.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 24 Jul 2022 19:07:26 +0300") Received-SPF: pass client-ip=205.166.94.24; envelope-from=akrl@sdf.org; helo=mx.sdf.org 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_PASS=-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:292610 Archived-At: Eli Zaretskii writes: >> From: Andrea Corallo >> Cc: Eli Zaretskii , emacs-devel@gnu.org >> Date: Tue, 19 Jul 2022 15:32:40 +0000 >> >> If you have a native compiled function (say `find-file') to get the eln >> file containing it one can use. >> >> (native-comp-unit-file (subr-native-comp-unit (symbol-function #'find-file))) > > Andrea, does anything similar to subr-native-comp-unit exists for > other types of symbols accepted by symbol-file: defvar and defface? No it does not exists. The reason why the compilation unit concept was introduced is to have the GC capable of unloading the eln when possible, this mechanism is only related to functions that are indeed memory mapped from the loaded shared libraries. Variables etc are just regular variables (tipically defined at eln load time) so they didn't required any new mechanism. > If not, then the only way to produce the same information for them > would be to generate the base name of the .eln file with > comp-el-to-eln-rel-filename, and then look for that file along > native-comp-eln-load-path, right? Yes I think so. Andrea