From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Marcin Borkowski Newsgroups: gmane.emacs.help Subject: How does `describe-function' know where the source code of the function is? Date: Mon, 17 Jan 2022 05:03:50 +0100 Message-ID: <87pmorf1p5.fsf@mbork.pl> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28265"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: mu4e 1.1.0; emacs 28.0.50 To: Help Gnu Emacs mailing list Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jan 17 05:04:37 2022 Return-path: Envelope-to: geh-help-gnu-emacs@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 1n9JG1-0007FZ-1B for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 17 Jan 2022 05:04:37 +0100 Original-Received: from localhost ([::1]:43356 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n9JFz-00053z-Gu for geh-help-gnu-emacs@m.gmane-mx.org; Sun, 16 Jan 2022 23:04:35 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:45716) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n9JFY-00053b-LB for help-gnu-emacs@gnu.org; Sun, 16 Jan 2022 23:04:08 -0500 Original-Received: from mail.mojserwer.eu ([195.110.48.8]:46634) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n9JFW-0001fw-IL for help-gnu-emacs@gnu.org; Sun, 16 Jan 2022 23:04:08 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by mail.mojserwer.eu (Postfix) with ESMTP id 93F31E6838 for ; Mon, 17 Jan 2022 05:04:00 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mail.mojserwer.eu Original-Received: from mail.mojserwer.eu ([127.0.0.1]) by localhost (mail.mojserwer.eu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ekSVD7qhsXUm for ; Mon, 17 Jan 2022 05:03:53 +0100 (CET) Original-Received: from localhost (178235147005.dynamic-3-poz-k-0-1-0.vectranet.pl [178.235.147.5]) by mail.mojserwer.eu (Postfix) with ESMTPSA id B2CD4E6177 for ; Mon, 17 Jan 2022 05:03:53 +0100 (CET) Received-SPF: pass client-ip=195.110.48.8; envelope-from=mbork@mbork.pl; helo=mail.mojserwer.eu X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:135377 Archived-At: Hi all, If I define a function with `defun', C-h f gives me a link to the source code of the function. I defined a macro defining a function (its expansion contained a `defun'), and C-h f'ing that function did /not/ give me that link. I tried saying M-: (symbol-plist 'my-function), but I haven't seen any property that would point to the source code. So, my question is: how does `describe-function' know where the link should point to (and if it should be rendered at all)? I skimmed its source code, but it seems pretty convoluted. I found `help-fns-function-description-header', but it seems that the actual code finding the exact position of the function definition is buried deep down the call chain, so I'm asking here in the hope that someone could point me to the right place faster than me trying to edebug this or something. TIA, -- Marcin Borkowski http://mbork.pl