From unknown Sat Aug 16 00:30:11 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#56643 <56643@debbugs.gnu.org> To: bug#56643 <56643@debbugs.gnu.org> Subject: Status: 29.0.50; Help-mode bookmarks not loading with native compilation Reply-To: bug#56643 <56643@debbugs.gnu.org> Date: Sat, 16 Aug 2025 07:30:11 +0000 retitle 56643 29.0.50; Help-mode bookmarks not loading with native compilat= ion reassign 56643 emacs submitter 56643 defun.foo@proton.me severity 56643 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 19 12:11:54 2022 Received: (at submit) by debbugs.gnu.org; 19 Jul 2022 16:11:54 +0000 Received: from localhost ([127.0.0.1]:55003 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oDpp9-00032n-GA for submit@debbugs.gnu.org; Tue, 19 Jul 2022 12:11:53 -0400 Received: from lists.gnu.org ([209.51.188.17]:60158) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oDnXb-0006ra-5n for submit@debbugs.gnu.org; Tue, 19 Jul 2022 09:45:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46708) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oDnXa-0004Sn-Nw for bug-gnu-emacs@gnu.org; Tue, 19 Jul 2022 09:45:34 -0400 Received: from mail-4316.protonmail.ch ([185.70.43.16]:17403) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oDnXX-0001LX-3h for bug-gnu-emacs@gnu.org; Tue, 19 Jul 2022 09:45:34 -0400 Date: Tue, 19 Jul 2022 13:45:19 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me; s=protonmail; t=1658238327; x=1658497527; bh=B+yCDsmTmnc8iPCHk2w1+HenTWYNrB9dkFTTxZuJ+Ko=; h=Date:To:From:Reply-To:Subject:Message-ID:Feedback-ID:From:To:Cc: Date:Subject:Reply-To:Feedback-ID:Message-ID; b=HwJaJMqrRR8+LLVcnKttiy4lvAUFTJIi03pbD1Lji29StJK0+06uPLbVW4dCl1mip +a5NxgVHpQmXSXDrvoLgfEhJk/2YBO98cHyuXEA6Do/1H2NRBfxxxLjG70Z+UCIjvx d68JMbeGDwLLrCyWEAqUbJPJcjuxoNZU5/ybFcnvAMVdaDjch9EFGTvfozjlFlVIns /96FMnZOQ0pnQiAWx5ZW7Prny64VAjSxyNpLxrTZLGghz7QySLt1eOLskuXriWCdFP echIUDOiHpHctV37amilJdYa2x5+LOeKdtaCNW/xlnQkX/xw4f684PEBTr+sSh/XGs g4EdqT7vcCGdg== To: "bug-gnu-emacs@gnu.org" From: defun.foo@proton.me Subject: 29.0.50; Help-mode bookmarks not loading with native compilation Message-ID: Feedback-ID: 52178609:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.70.43.16; envelope-from=defun.foo@proton.me; helo=mail-4316.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, 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-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Tue, 19 Jul 2022 12:11:50 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: defun.foo@proton.me Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Overview: With native compilation enabled, adding a bookmark in a help buffer seems t= o work normally for the duration of the Emacs session, but when Emacs is re= started an "Invalid read syntax: '#'" error is thrown and the entire bookma= rk list fails to load. This appears to be caused by a compiled lambda being= serialized to the bookmark file in a way that is unreadable to the reader. Emacs version: 29.0.5, compiled from latest master branch on 7-18-2022, and started with e= macs -Q for both scenarios below. Steps to reproduce: 1. Ensure that native compilation is enabled by running M-x native-comp-ava= ilable-p 2. Run M-x describe-function {{any-function}} and move to the resulting *He= lp* buffer 3. Create a bookmark with C-x r m 4. Without quitting Emacs, kill the *Help* buffer, then run C-x r b to jump= back to the bookmark (this works as expected) 5. Quit Emacs (C-x C-c), and restart 6. Attempt to jump to the same bookmark again (running C-x r b), and observ= e that the bookmark list fails to load and throws an "Invalid read syntax: = '#'" error Here is an example of a help bookmark as it was serialized to the bookmarks= file (note the "help-fn" value): ("native-comp-bookmark" (position . 1) (last-modified 25301 49750 590832 312000) (help-fn . #) (help-args switch-to-buffer "*scratch*") (position . 1) (handler . help-bookmark-jump)) For comparison, I compiled Emacs without the native compilation flag (and v= erified that native-comp-available-p returned nil), and went through the sa= me steps above, creating a new bookmark. Jumping back to the bookmark after= restarting works as expected, and here is an example of that bookmark seri= alized without native comp: ("vanilla-bookmark" (position . 1) (last-modified 25301 49238 861856 736000) (help-fn . #[514 "\301=01!\205=07\0\211=18\302=02!)\207" [describe-function-orig-buffer buffer-live-p describe-funct= ion] 4 "\n\n(fn FUNCTION BUFFER)"]) (help-args switch-to-buffer "*scratch*") (position . 1) (handler . help-bookmark-jump)) I did find an older similar bug (#24573 https://lists.gnu.org/archive/html/= bug-gnu-emacs/2016-09/msg00971.html) which was causing the same error due t= o a buffer object being serialized. This was fixed by saving just the buffe= r name, but I'm not sure there's any comparable way to save a reference to = a compiled lambda. Any advice would be much appreciated though! From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 19 12:49:44 2022 Received: (at 56643) by debbugs.gnu.org; 19 Jul 2022 16:49:44 +0000 Received: from localhost ([127.0.0.1]:55078 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oDqPo-000451-F2 for submit@debbugs.gnu.org; Tue, 19 Jul 2022 12:49:44 -0400 Received: from eggs.gnu.org ([209.51.188.92]:54004) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oDqPk-00044k-Sc for 56643@debbugs.gnu.org; Tue, 19 Jul 2022 12:49:42 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:38566) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oDqPf-0000EE-AG; Tue, 19 Jul 2022 12:49:35 -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=cDk9/IxbI+By/j48GOnp8qBaId40goKkfxbryeMaCyQ=; b=lit7CkkI1HZM ylUkY5I7HrofyVgKCYz9iFYWXc++LvJ8RPO52aeJoXUlsuS9X0ikofawUCJko8hUQWuUa2nYSNFGC wlk73foBtOtTLgL1+/JXEQuz+VdCWExvqdsXrc9JgIU614x+7ReoR3nwdoHFPcHlTrNrlUyeFKEaW DEWI91b7nJY0bSFX4E4rf+85nVhRccW0Wv0vN630NYzZLffRoI0agW0y/bQn+hSNGCZS5gc16WVOu FzJzEGhkUMIPPl+myWWjsGuo7UlgXVC9x31ad2B9Q+XzFA9ycN5hralFWsRrDiBhgjqftBM1NnmyT D70z1vGxGkz+P5Ko3KOWww==; Received: from [87.69.77.57] (port=3849 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 1oDqPe-0008FY-QJ; Tue, 19 Jul 2022 12:49:35 -0400 Date: Tue, 19 Jul 2022 19:49:23 +0300 Message-Id: <83k089m4j0.fsf@gnu.org> From: Eli Zaretskii To: defun.foo@proton.me In-Reply-To: (bug-gnu-emacs@gnu.org) Subject: Re: bug#56643: 29.0.50; Help-mode bookmarks not loading with native compilation References: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 56643 Cc: 56643@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Tue, 19 Jul 2022 13:45:19 +0000 > From: defun.foo--- via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" > > 1. Ensure that native compilation is enabled by running M-x native-comp-available-p > 2. Run M-x describe-function {{any-function}} and move to the resulting *Help* buffer > 3. Create a bookmark with C-x r m > 4. Without quitting Emacs, kill the *Help* buffer, then run C-x r b to jump back to the bookmark (this works as expected) > 5. Quit Emacs (C-x C-c), and restart > 6. Attempt to jump to the same bookmark again (running C-x r b), and observe that the bookmark list fails to load and throws an "Invalid read syntax: '#'" error > > Here is an example of a help bookmark as it was serialized to the bookmarks file (note the "help-fn" value): > > ("native-comp-bookmark" > (position . 1) > (last-modified 25301 49750 590832 312000) > (help-fn . #) > (help-args switch-to-buffer "*scratch*") > (position . 1) > (handler . help-bookmark-jump)) > > For comparison, I compiled Emacs without the native compilation flag (and verified that native-comp-available-p returned nil), and went through the same steps above, creating a new bookmark. Jumping back to the bookmark after restarting works as expected, and here is an example of that bookmark serialized without native comp: > > ("vanilla-bookmark" > (position . 1) > (last-modified 25301 49238 861856 736000) > (help-fn . > #[514 "\301!\205\0\211\302!)\207" > [describe-function-orig-buffer buffer-live-p describe-function] > 4 "\n\n(fn FUNCTION BUFFER)"]) > (help-args switch-to-buffer "*scratch*") > (position . 1) > (handler . help-bookmark-jump)) Thanks. I started looking into this, but gave up when I got to help-mode.el (which is where the bookmark support for *Help* lives, and which is where we signal an error trying to read an unreadable object.) We basically have no usable documentation for what bookmark support in help-mode does. Someone who knows what that code does will have to see how to process a help-fn that is a natively-compiled function. From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 19 20:09:07 2022 Received: (at 56643) by debbugs.gnu.org; 20 Jul 2022 00:09:07 +0000 Received: from localhost ([127.0.0.1]:55405 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oDxGx-0000UU-SD for submit@debbugs.gnu.org; Tue, 19 Jul 2022 20:09:07 -0400 Received: from mail-40131.protonmail.ch ([185.70.40.131]:34871) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oDvcS-0006JB-Ty for 56643@debbugs.gnu.org; Tue, 19 Jul 2022 18:23:10 -0400 Date: Tue, 19 Jul 2022 22:22:57 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me; s=g7tt2dkbdze7rc2fckxxnjdvg4.protonmail; t=1658269381; x=1658528581; bh=tkawaolO/7ZWPJzCeQgl/BywADm9hj+ARtEGZQAaqvQ=; h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To: References:Feedback-ID:From:To:Cc:Date:Subject:Reply-To: Feedback-ID:Message-ID; b=S5xb/UFjm/aRUbpQ2gVGWgJAleRGDs+N99HsKQ1LDvalJPI7h8dQ0B/+DJ+s8uEd/ /wtQXRGZmySa+K17wfBVsRGMF/EhAkZz/MS+RCnvJTsZpvA0qrxfpHl2qtP+dmKN7u 4Fpl4OxXDmr0pvKgDWjwi0CHkBXgDr31HY8nWzw46enu7Vuliqxj3rlzWj4802A/TA W+e5iodutR2chgRYY3JrvnU6pvrXBjD0j7QKTA3zderWBJdvxGXLsWWvrRctiIX6lz PSLNqdlZr7h12nJVszmTIUp1m7Fqv5sMRfiGPvpcaJXHS+U1OCNgft8WH33ISur80E 3Umxx8loGPtzQ== To: Eli Zaretskii From: defun.foo@proton.me Subject: Re: bug#56643: 29.0.50; Help-mode bookmarks not loading with native compilation Message-ID: In-Reply-To: <83k089m4j0.fsf@gnu.org> References: <83k089m4j0.fsf@gnu.org> Feedback-ID: 52178609:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 56643 X-Mailman-Approved-At: Tue, 19 Jul 2022 20:09:02 -0400 Cc: 56643@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: defun.foo@proton.me Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) I dug into that a little when I was trying to find a work-around. It looks = like help-mode maintains a stack of previously-visited help items which is = what enables users to jump back and forth between different items they've v= iewed. From "C-h v help-xref-stack": "A stack of ways by which to return to help buffers after following xrefs. Used by =E2=80=98help-follow-symbol=E2=80=99 and =E2=80=98help-xref-go-back= =E2=80=99. An element looks like (POSITION FUNCTION ARGS...). To use the element, do (apply FUNCTION ARGS) then goto the point." So basically the FUNCTION element is a recipe for recreating a specific hel= p item, and "help-bookmark-make-record" just drops that FUNCTION element in= tact into "help-fn" when creating a bookmark: `(,@(bookmark-make-record-default 'NO-FILE 'NO-CONTEXT) (help-fn . ,(car help-xref-stack-item)) (help-args . ,(mapcar (lambda (a) (if (bufferp a) (buffer-name a) a)) (cdr help-xref-stack-item))) (position . ,(point)) (handler . help-bookmark-jump)) The catch is that every function that generates a help buffer also defines = its own way of setting up an xref stack item. Some pass in a symbol while s= ome pass in a lambda, so after a while the stack might end up looking like = this: ((1 # (("=18=03" . [24 3])) #) (232 describe-variable help-xref-stack #) (1 # describe-p= ackage #)) Then when bookmark.el saves all the bookmarks ("bookmark-write-file"), it j= ust calls "pp" on each one: (dolist (i bookmark-alist) (pp i (current-buffer))) which apparently is able to create a readable representation of byte-compil= ed lambdas, but not native-compiled ones. And that's where my knowledge ends. :) I have very little C programming exp= erience and have no idea if it's even possible to serialize a compiled thin= g into something the reader can understand, or whether there's some process= ing help-mode could do on each function before it even becomes part of a bo= okmark. ------- Original Message ------- On Tuesday, July 19th, 2022 at 12:49 PM, Eli Zaretskii wrote= : > > Thanks. > > I started looking into this, but gave up when I got to help-mode.el > (which is where the bookmark support for Help lives, and which is > where we signal an error trying to read an unreadable object.) > > We basically have no usable documentation for what bookmark support in > help-mode does. Someone who knows what that code does will have to > see how to process a help-fn that is a natively-compiled function. From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 20 05:51:21 2022 Received: (at 56643) by debbugs.gnu.org; 20 Jul 2022 09:51:21 +0000 Received: from localhost ([127.0.0.1]:55880 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oE6MS-0007Kj-QB for submit@debbugs.gnu.org; Wed, 20 Jul 2022 05:51:21 -0400 Received: from mx.sdf.org ([205.166.94.24]:52212) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oE6MR-0007Kb-56 for 56643@debbugs.gnu.org; Wed, 20 Jul 2022 05:51:19 -0400 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 26K9pGlx004142 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Wed, 20 Jul 2022 09:51:17 GMT From: Andrea Corallo To: Subject: Re: bug#56643: 29.0.50; Help-mode bookmarks not loading with native compilation References: <83k089m4j0.fsf@gnu.org> Date: Wed, 20 Jul 2022 09:51:17 +0000 In-Reply-To: (defun foo's message of "Tue, 19 Jul 2022 22:22:57 +0000") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 56643 Cc: defun.foo@proton.me, "the.Swiss.army.knife.of.text.editors\\ " , @mx.sdf.org, Eli Zaretskii , 56643@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) "defun.foo--- via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" writes: > I dug into that a little when I was trying to find a work-around. It look= s like help-mode maintains a stack of previously-visited help items which i= s what enables users to jump back and forth between different items they've= viewed. From "C-h v help-xref-stack": > > "A stack of ways by which to return to help buffers after following xrefs. > Used by =E2=80=98help-follow-symbol=E2=80=99 and =E2=80=98help-xref-go-ba= ck=E2=80=99. > An element looks like (POSITION FUNCTION ARGS...). > To use the element, do (apply FUNCTION ARGS) then goto the point." > > So basically the FUNCTION element is a recipe for recreating a specific h= elp item, and "help-bookmark-make-record" just drops that FUNCTION element = intact into "help-fn" when creating a bookmark: > > `(,@(bookmark-make-record-default 'NO-FILE 'NO-CONTEXT) > (help-fn . ,(car help-xref-stack-item)) > (help-args . ,(mapcar (lambda (a) > (if (bufferp a) (buffer-name a) a)) > (cdr help-xref-stack-item))) > (position . ,(point)) > (handler . help-bookmark-jump)) > > The catch is that every function that generates a help buffer also define= s its own way of setting up an xref stack item. Some pass in a symbol while= some pass in a lambda, so after a while the stack might end up looking lik= e this: > > ((1 # > (("=03" . > [24 3])) > #) > (232 describe-variable help-xref-stack #) > (1 # describe= -package #)) > > Then when bookmark.el saves all the bookmarks ("bookmark-write-file"), it= just calls "pp" on each one: > > (dolist (i bookmark-alist) (pp i (current-buffer))) > > which apparently is able to create a readable representation of byte-comp= iled lambdas, but not native-compiled ones. > > And that's where my knowledge ends. :) I have very little C programming e= xperience and have no idea if it's even possible to serialize a compiled th= ing into something the reader can understand, or whether there's some proce= ssing help-mode could do on each function before it even becomes part of a = bookmark. It is unfortunatelly not possible to serialize native compiled code so that the reader can read it back. Native code can only stay in shared libraries (eln files) and be loaded from there. Not sure if help-mode can use a different strategy. BR Andrea From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 20 07:21:11 2022 Received: (at 56643) by debbugs.gnu.org; 20 Jul 2022 11:21:11 +0000 Received: from localhost ([127.0.0.1]:55997 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oE7lO-0003k0-Py for submit@debbugs.gnu.org; Wed, 20 Jul 2022 07:21:11 -0400 Received: from mx.sdf.org ([205.166.94.24]:58823) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oE7lM-0003jr-TA for 56643@debbugs.gnu.org; Wed, 20 Jul 2022 07:21:09 -0400 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 26KBL6SZ017115 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Wed, 20 Jul 2022 11:21:07 GMT From: Andrea Corallo To: defun.foo@proton.me Subject: Re: bug#56643: 29.0.50; Help-mode bookmarks not loading with native compilation References: <83k089m4j0.fsf@gnu.org> Date: Wed, 20 Jul 2022 11:21:06 +0000 In-Reply-To: (defun foo's message of "Tue, 19 Jul 2022 22:22:57 +0000") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 56643 Cc: Eli Zaretskii , 56643@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) "defun.foo--- via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" writes: > I dug into that a little when I was trying to find a work-around. It look= s like help-mode maintains a stack of previously-visited help items which i= s what enables users to jump back and forth between different items they've= viewed. From "C-h v help-xref-stack": > > "A stack of ways by which to return to help buffers after following xrefs. > Used by =E2=80=98help-follow-symbol=E2=80=99 and =E2=80=98help-xref-go-ba= ck=E2=80=99. > An element looks like (POSITION FUNCTION ARGS...). > To use the element, do (apply FUNCTION ARGS) then goto the point." > > So basically the FUNCTION element is a recipe for recreating a specific h= elp item, and "help-bookmark-make-record" just drops that FUNCTION element = intact into "help-fn" when creating a bookmark: > > `(,@(bookmark-make-record-default 'NO-FILE 'NO-CONTEXT) > (help-fn . ,(car help-xref-stack-item)) > (help-args . ,(mapcar (lambda (a) > (if (bufferp a) (buffer-name a) a)) > (cdr help-xref-stack-item))) > (position . ,(point)) > (handler . help-bookmark-jump)) > > The catch is that every function that generates a help buffer also define= s its own way of setting up an xref stack item. Some pass in a symbol while= some pass in a lambda, so after a while the stack might end up looking lik= e this: > > ((1 # > (("=03" . > [24 3])) > #) > (232 describe-variable help-xref-stack #) > (1 # describe= -package #)) > > Then when bookmark.el saves all the bookmarks ("bookmark-write-file"), it= just calls "pp" on each one: > > (dolist (i bookmark-alist) (pp i (current-buffer))) > > which apparently is able to create a readable representation of byte-comp= iled lambdas, but not native-compiled ones. > > And that's where my knowledge ends. :) I have very little C programming e= xperience and have no idea if it's even possible to serialize a compiled th= ing into something the reader can understand, or whether there's some proce= ssing help-mode could do on each function before it even becomes part of a = bookmark. It is unfortunatelly not possible to serialize native compiled code so that the reader can read it back. Native code can only stay in shared libraries (eln files) and be loaded from there. Not sure if help-mode can use a different strategy. BR Andrea From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 20 07:45:45 2022 Received: (at 56643) by debbugs.gnu.org; 20 Jul 2022 11:45:45 +0000 Received: from localhost ([127.0.0.1]:56040 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oE89B-0006Wf-JZ for submit@debbugs.gnu.org; Wed, 20 Jul 2022 07:45:45 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51670) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oE89A-0006WR-4P for 56643@debbugs.gnu.org; Wed, 20 Jul 2022 07:45:44 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:56476) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oE893-0004l9-AP; Wed, 20 Jul 2022 07:45:37 -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=wvgI1ZvHVYEeuRTeNsukMWNNmp/ezd+eADR0cQb8RF8=; b=mXP3Ztx/IL6+ oTSWj5+6RRQCt79VzytZ84kZ7rs5mOYfSGs8+CgTAabr2QdZ7xA1bJK0A/jUC2TZvjVaoVCC8KMsA AAFKtHPKnC8b1DMiacrb6liFZ8+BvexIiJifCBx6OfzBW1G4FUA6PBNgQS8B9vxy1HiigJHbkfXuJ Y1cqT3FxXcZRXNSl66bTvTPVGBAvPr06P9ayZfVUY2T8lVzfHOdKu9yFyRaAwpk2TeoO+ompQ0PqS V2nUEyUX7hkaqfiskGzbHm58mQCUCkzmPyNQtyLNS4fpsOHWU1fppjrDc2lWdbeqisrVip5SO8XoR HMjjwSfshbbfRbcN3q9K6w==; Received: from [87.69.77.57] (port=1447 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 1oE892-00039d-7s; Wed, 20 Jul 2022 07:45:37 -0400 Date: Wed, 20 Jul 2022 14:45:26 +0300 Message-Id: <8335ewm2i1.fsf@gnu.org> From: Eli Zaretskii To: Andrea Corallo In-Reply-To: (message from Andrea Corallo on Wed, 20 Jul 2022 11:21:06 +0000) Subject: Re: bug#56643: 29.0.50; Help-mode bookmarks not loading with native compilation References: <83k089m4j0.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 56643 Cc: defun.foo@proton.me, 56643@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Andrea Corallo > Cc: 56643@debbugs.gnu.org, Eli Zaretskii > Date: Wed, 20 Jul 2022 11:21:06 +0000 > > It is unfortunatelly not possible to serialize native compiled code so > that the reader can read it back. Native code can only stay in shared > libraries (eln files) and be loaded from there. Can we deduce the name of the Lisp function (a symbol) whose native-compilation result is a given natively-compiled subr? If so, perhaps we could substitute the function's symbol for the subr name. From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 20 14:32:00 2022 Received: (at 56643) by debbugs.gnu.org; 20 Jul 2022 18:32:00 +0000 Received: from localhost ([127.0.0.1]:58852 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEEUK-0003ce-Cc for submit@debbugs.gnu.org; Wed, 20 Jul 2022 14:32:00 -0400 Received: from mx.sdf.org ([205.166.94.24]:50850) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEEUH-0003cV-8y for 56643@debbugs.gnu.org; Wed, 20 Jul 2022 14:31:59 -0400 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 26KIVt19012215 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Wed, 20 Jul 2022 18:31:55 GMT From: Andrea Corallo To: Eli Zaretskii Subject: Re: bug#56643: 29.0.50; Help-mode bookmarks not loading with native compilation References: <83k089m4j0.fsf@gnu.org> <8335ewm2i1.fsf@gnu.org> Date: Wed, 20 Jul 2022 18:31:56 +0000 In-Reply-To: <8335ewm2i1.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 20 Jul 2022 14:45:26 +0300") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 56643 Cc: defun.foo@proton.me, 56643@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: >> From: Andrea Corallo >> Cc: 56643@debbugs.gnu.org, Eli Zaretskii >> Date: Wed, 20 Jul 2022 11:21:06 +0000 >> >> It is unfortunatelly not possible to serialize native compiled code so >> that the reader can read it back. Native code can only stay in shared >> libraries (eln files) and be loaded from there. > > Can we deduce the name of the Lisp function (a symbol) whose > native-compilation result is a given natively-compiled subr? If so, > perhaps we could substitute the function's symbol for the subr name. Not that I'm aware. I guest would be necessary to keep some global (or per native function) hash table that is updated in Fset? I hope there's some workaround to this in the help / bookmarks machinery cause this does not look very neat to me. Andrea From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 20 15:16:34 2022 Received: (at 56643) by debbugs.gnu.org; 20 Jul 2022 19:16:34 +0000 Received: from localhost ([127.0.0.1]:58888 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEFBS-0004nV-6e for submit@debbugs.gnu.org; Wed, 20 Jul 2022 15:16:34 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46432) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEFBO-0004nH-QK for 56643@debbugs.gnu.org; Wed, 20 Jul 2022 15:16:32 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:36308) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oEFBG-0001pJ-Qe; Wed, 20 Jul 2022 15:16:22 -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=6H5dXNpTMdD5LGEAZBAeWbI1p1alyPutzZz9lbGIh+Y=; b=Huhw4Dzl2A0G 9nruxqRrtrSRQa85A55c+nzCpm9b+Rvid6oKcN4ZmS/XUt6lzqb8yEtOkZfnWUIc3BZ9ns+XV4vNY InFER4+Q35+NDmdvmPa6WhEMujJCBQIoSeR1Gb8d+LL6zaqLMHgrfpAw46JZdjvwSfKtNDRs9XL2F jXZHOjnwcmlrcLJbsoMdsYQ9/M31HlMxvnQO3gIDVomOtlgbcKOfaRDNgFUPjxfC2sMFg8qeGEVS/ nYHSnqGXVSjz3sZ05fyowBGVCzXsV/9IqoplgRt2zXg5y4MH7uyAeOr9bbYml/z4W7odR3qiTK5Qc 8J3+YI10A+/4cLmzNiJaiQ==; Received: from [87.69.77.57] (port=2104 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 1oEFBD-0003HP-GD; Wed, 20 Jul 2022 15:16:22 -0400 Date: Wed, 20 Jul 2022 22:16:11 +0300 Message-Id: <83a693lhms.fsf@gnu.org> From: Eli Zaretskii To: Andrea Corallo In-Reply-To: (message from Andrea Corallo on Wed, 20 Jul 2022 18:31:56 +0000) Subject: Re: bug#56643: 29.0.50; Help-mode bookmarks not loading with native compilation References: <83k089m4j0.fsf@gnu.org> <8335ewm2i1.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 56643 Cc: defun.foo@proton.me, 56643@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Andrea Corallo > Cc: defun.foo@proton.me, 56643@debbugs.gnu.org > Date: Wed, 20 Jul 2022 18:31:56 +0000 > > Eli Zaretskii writes: > > > Can we deduce the name of the Lisp function (a symbol) whose > > native-compilation result is a given natively-compiled subr? If so, > > perhaps we could substitute the function's symbol for the subr name. > > Not that I'm aware. > > I guest would be necessary to keep some global (or per native function) > hash table that is updated in Fset? > > I hope there's some workaround to this in the help / bookmarks machinery > cause this does not look very neat to me. The relevant code looks like this: (help-setup-xref (list (lambda (function buffer) (let ((describe-function-orig-buffer (if (buffer-live-p buffer) buffer))) (describe-function function))) function describe-function-orig-buffer) (called-interactively-p 'interactive)) In a natively-compiled Emacs, this lambda produces a native-compiled subr. Is there a way of telling Emacs not to produce such a subr, but instead to produce byte-code for this lambda? If yes, that could be a (somewhat ugly) workaround in this case. From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 20 18:47:53 2022 Received: (at 56643) by debbugs.gnu.org; 20 Jul 2022 22:47:53 +0000 Received: from localhost ([127.0.0.1]:36251 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEITx-0000oC-2s for submit@debbugs.gnu.org; Wed, 20 Jul 2022 18:47:53 -0400 Received: from mout.web.de ([212.227.15.14]:41855) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEITs-0000n3-0g for 56643@debbugs.gnu.org; Wed, 20 Jul 2022 18:47:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1658357256; bh=Pi1UYIPer0Nm89VVdkrOa/mL/NG7wLGOr/vcLY477Tw=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date; b=Lb2gJFSU27VIiAONZsVuqz7r9CUqJvpm8ltDZ89HY9iWJ1IEXXz4aJEx8NG3d4TQ7 3Jp50Mhi5VK/ikxhHTcSrNayfGEvOXa6wyW80iAxMXtJQjZX9XQMdG0NkhC1Qp0Z9I VMvAuzjW/edyhUbvP7+i+Nh5bSEO7wJZCYiD2rcM= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([84.57.248.18]) by smtp.web.de (mrweb006 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MeDMR-1ngsjn0RTL-00bDpC; Thu, 21 Jul 2022 00:47:36 +0200 From: Michael Heerdegen To: Eli Zaretskii Subject: Re: bug#56643: 29.0.50; Help-mode bookmarks not loading with native compilation In-Reply-To: <83a693lhms.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 20 Jul 2022 22:16:11 +0300") References: <83k089m4j0.fsf@gnu.org> <8335ewm2i1.fsf@gnu.org> <83a693lhms.fsf@gnu.org> Date: Thu, 21 Jul 2022 00:47:30 +0200 Message-ID: <87sfmvtn99.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:KqrX41g+Vw5ZQb83ujGdtIpmibDW23Q8Xq58+bsAEItEPFTgers K8hr/ZgBlAmKchgE5wjProja3+IDBde1P5a6Z5uq6atlxmT33cYrSewyJxnLd+tYouQhc/g /FHLCwHOmSK7vd8Fk1M4miElrUv9RRxhzJGfExQ1vY6McV6/3LJykeYaemqh8dHwrzTeXdO xd1TCEhXkJfKRfegNKJXA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:bajNqlMLMJ4=:fl1hp7fiId1OwjNKqlsO6L dGlx4LPBccaFXy9qqv0IowX7k3Iez2YZxn+KIooH/cfLpTAAZ+S3wVgmErJkQIr7b4UNRKjYZ rCzpggXLv4xbLReHoILktlIvLF61Q0fuz5LWMXyHaxSjBK7nrhjittbm8OS8IIXoMmKrIVyA2 8RqP/Dfr1eXDmoUVEsYXoqzR+YThSih2DZ6HT19tCPe6aiU2XYCvLj7p0lCnEHMAYwfxJqzHi 1CkCxrJb9gKTT6MiSJ/enPnDDAd88JObUR8DG61h9Y65ORcX9Xhy3JyT1nKOyXJnEWEK8M1Bk S8jDlvPkOPlee5WSSD6/cFPqOMVx90QFTELVQqTnnP8aHAVCrUk2oxt9jy9R+0oE1FxOlV3zx jsiUBNkS5qavfg26N57TzoIVId7+QlbHbef1ai2xnS+X3L/Uj6g8hwg4lFQZbr5bAD2FcC1Ii ijHk/rGhUBVzHxxFG2D1Q4gk3mL49b5KmyztRQeS7fO3jdwqCzw+TSFi9IgAvwQuxKfqwjqq4 +LAZ8mcwsIeCWaIBYLhB1yuGckYEc9CvGW6/cC3EjGEEywo8lyene7RVNBZrMB/AGckZEr6+k 6Ygk84Qbmx3y/n1DPNMn56X8YZ0flxy8YaK94XD+IR978CkDDyKepEzzEBpmpa7RelAKdGESd tpl5HvfAE2oa5NK14csnqASMzi0SQdVD0tdoQuU92Hifjp90deY8n33SRwzcml8Vo7WVs3197 pcdQnIYQUobI9h0BkKnHJFaGzSr9Lj5Ara8Hl/O+zCebUe8mM0LXkDQR5vtuw6eKv53XrsFT2 9nxMAa6ZZvNDdo/Aj6OCJrwDleTqBYBo4mHge18UMiChMre6VRfdYO8bWViS6eH5EAZK86tuN pKRCp9BSJbeyRAKT41xHpsjC4J7jUGK8tpwJxKJSjFdhethXNOr2fqjFAwq/QoeBaTMGdHSIv MIejPYn6wMYexDgV8vUDJx2mgrBEviFNyR2LHymRPPIUYwLbu8KZWhMAYb7ITrlzQf568ClYE NmBWFrHl5hMbibaIZRV8A0LTVjkYGLPWTYL6BIIeLOlTckq24Rb5RxTx1NwgpSFu/5tAUo5We rK/lqU2/iIl9VShg9npC4X2b5VpS1Hqk4kHkeI6MqTQtWev0ydIJBdGkQ== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 56643 Cc: defun.foo@proton.me, 56643@debbugs.gnu.org, Andrea Corallo X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Eli Zaretskii writes: > (help-setup-xref > (list (lambda (function buffer) > (let ((describe-function-orig-buffer > (if (buffer-live-p buffer) buffer))) > (describe-function function))) > function describe-function-orig-buffer) > (called-interactively-p 'interactive)) > > In a natively-compiled Emacs, this lambda produces a native-compiled > subr. Is there a way of telling Emacs not to produce such a subr, but > instead to produce byte-code for this lambda? If yes, that could be a > (somewhat ugly) workaround in this case. Alternatively we could introduce a named helper function. Note there are more calls of `help-setup-xref' using lambdas in arguments. I see a more general problem: anywhere where printing an anonymous function readably is necessary there is a potential breakage when using natively compiled Emacs - right? That would be quite a limitation. Michael. From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 21 01:13:39 2022 Received: (at 56643) by debbugs.gnu.org; 21 Jul 2022 05:13:39 +0000 Received: from localhost ([127.0.0.1]:36451 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEOVH-0002rS-9w for submit@debbugs.gnu.org; Thu, 21 Jul 2022 01:13:39 -0400 Received: from eggs.gnu.org ([209.51.188.92]:54206) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEOVE-0002rC-F0 for 56643@debbugs.gnu.org; Thu, 21 Jul 2022 01:13:38 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:45460) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oEOV8-0001QC-Qr; Thu, 21 Jul 2022 01:13:30 -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=g6e4YchL+1jPsar0VXPADIAsbMQ9VU8hgT4qrJgUt7o=; b=Dy/TmYsbjTCL oqHLDwV6n7yL5u25q70OVx1RhL16ZO9x6wdZzspUIehsHXZtYbdE1eMgZyl1JO7jsiPJygqT/smBs trcXL7NuFGqxC20LAN1uKGfR+0Xl3Q4BrFy2Py8apu55HdiUtVzB6AgP/b1o2hwbC2LT9VoTBC8HE kGxfW4n+qtfkEyubZ8yzgoeq2oGaDY6ZnedDga8lGjkYRETn6GK0zWdW7FHUmCH9nYbfYMLKU42nS NPLmly42mkkGgn3rX7wXlxr9Ra0Dhj5V15dautrelSinDNA3p/qq+DWEzVIJyF9gid856iFQMNbgc C8Do6Vz/3KSDzjXwUrwHLw==; Received: from [87.69.77.57] (port=3412 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 1oEOV8-0007JW-A8; Thu, 21 Jul 2022 01:13:30 -0400 Date: Thu, 21 Jul 2022 08:13:22 +0300 Message-Id: <838ronkpzh.fsf@gnu.org> From: Eli Zaretskii To: Michael Heerdegen In-Reply-To: <87sfmvtn99.fsf@web.de> (message from Michael Heerdegen on Thu, 21 Jul 2022 00:47:30 +0200) Subject: Re: bug#56643: 29.0.50; Help-mode bookmarks not loading with native compilation References: <83k089m4j0.fsf@gnu.org> <8335ewm2i1.fsf@gnu.org> <83a693lhms.fsf@gnu.org> <87sfmvtn99.fsf@web.de> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 56643 Cc: defun.foo@proton.me, 56643@debbugs.gnu.org, akrl@sdf.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Michael Heerdegen > Cc: Andrea Corallo , defun.foo@proton.me, 56643@debbugs.gnu.org > Date: Thu, 21 Jul 2022 00:47:30 +0200 > > Eli Zaretskii writes: > > > (help-setup-xref > > (list (lambda (function buffer) > > (let ((describe-function-orig-buffer > > (if (buffer-live-p buffer) buffer))) > > (describe-function function))) > > function describe-function-orig-buffer) > > (called-interactively-p 'interactive)) > > > > In a natively-compiled Emacs, this lambda produces a native-compiled > > subr. Is there a way of telling Emacs not to produce such a subr, but > > instead to produce byte-code for this lambda? If yes, that could be a > > (somewhat ugly) workaround in this case. > > Alternatively we could introduce a named helper function. Note there > are more calls of `help-setup-xref' using lambdas in arguments. And that would solve the problem? Did you try that? > I see a more general problem: anywhere where printing an anonymous > function readably is necessary there is a potential breakage when using > natively compiled Emacs - right? Only if the function is serialized and written somewhere, and then some code wants to read it. Natively-compiled code cannot be read, AFAIU. From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 21 06:02:18 2022 Received: (at 56643) by debbugs.gnu.org; 21 Jul 2022 10:02:18 +0000 Received: from localhost ([127.0.0.1]:36745 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oET0b-0002bu-T6 for submit@debbugs.gnu.org; Thu, 21 Jul 2022 06:02:18 -0400 Received: from mail-4316.protonmail.ch ([185.70.43.16]:52707) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oET0Y-0002be-0x for 56643@debbugs.gnu.org; Thu, 21 Jul 2022 06:02:16 -0400 Date: Thu, 21 Jul 2022 10:01:57 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me; s=fa56qecb7zh7zfbayb4o6ie7qm.protonmail; t=1658397727; x=1658656927; bh=BESDz5PQMEaLFvaNtDNTiwYdR1tPQYexlEk4H8ioUXM=; h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To: References:Feedback-ID:From:To:Cc:Date:Subject:Reply-To: Feedback-ID:Message-ID; b=jDPT9nWF/l+Fuba1ynJbk3sbZWI5U/9/B3QkKQu2A2Et8Yn4lhoHqYms+fsLhgSOX n2yajnj+ThIT/ohEl0WAgF4LsGaVMD2BIhv95A0gjGGCh1XvovorO3rUz+0CGjKBf6 I5XANcfPOLQo76jz5JatJM533GUfsDX3PznWImry5U/R4xbId0ovCwGxr8jF79iQbg 4yzIENIO/Z+5seBDl7YEuL/pl/5xDpxbxbr8xBS3uzNaVgjOOwkl+MjKvXk7+PgVfm ilT0WW1Rw5DtiIUC7iaJ4ldAjRKzccAtS6L5ulkMvTuo4jaFykPfK/g14m8WloiGXe Y1xmBxaVGndBg== To: Eli Zaretskii From: defun.foo@proton.me Subject: Re: bug#56643: 29.0.50; Help-mode bookmarks not loading with native compilation Message-ID: In-Reply-To: <838ronkpzh.fsf@gnu.org> References: <83k089m4j0.fsf@gnu.org> <8335ewm2i1.fsf@gnu.org> <83a693lhms.fsf@gnu.org> <87sfmvtn99.fsf@web.de> <838ronkpzh.fsf@gnu.org> Feedback-ID: 52178609:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 56643 Cc: Michael Heerdegen , 56643@debbugs.gnu.org, akrl@sdf.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: defun.foo@proton.me Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > > Alternatively we could introduce a named helper function. Note there > > are more calls of `help-setup-xref' using lambdas in arguments. > > > And that would solve the problem? Did you try that? I tried it with describe-function and it does solve the problem, although a= s noted above there are many other functions that generate help buffers and= pass in a lambda. Named helper: (defun describe-function-xref-func (function buffer) (let ((describe-function-orig-buffer (if (buffer-live-p buffer) buffer))) (describe-function function))) Revised describe-function snippet: (help-setup-xref (list 'describe-function-xref-func function describe-function-orig-buf= fer) (called-interactively-p 'interactive)) This produces the following bookmark, which I confirmed still works after r= estarting Emacs: ("named-function-help-bookmark" (position . 1) (last-modified 25305 7198 806743 243000) (help-fn . describe-function-xref-func) (help-args completing-read "*scratch*") (position . 1) (handler . help-bookmark-jump)) > > I see a more general problem: anywhere where printing an anonymous > > function readably is necessary there is a potential breakage when using > > natively compiled Emacs - right? That would be quite a limitation. I had the same thought. I'd bet there are other packages that rely on being= able to read code back reliably. I"m curious if there is any metadata at a= ll attached to a natively-compiled function? From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 21 08:34:26 2022 Received: (at 56643) by debbugs.gnu.org; 21 Jul 2022 12:34:27 +0000 Received: from localhost ([127.0.0.1]:36857 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEVNo-00014f-0a for submit@debbugs.gnu.org; Thu, 21 Jul 2022 08:34:26 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51884) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEVNX-00013t-6k for 56643@debbugs.gnu.org; Thu, 21 Jul 2022 08:34:22 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:51184) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oEVNR-0005cu-2H; Thu, 21 Jul 2022 08:34:01 -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=Ygfpw7IMQbkhGjF11WBJSDjdNRg8iV5qninOhSKCmEQ=; b=V5iGKoIw+Vtf VQFYZULr/RCVD6dWRtIhGHqsluG/oANqFW8zTyymxE2IKlmNZ0QYBH0VMMfYm3FM2wPyZSxTr1oNO 6Iv/GNNKbLMwKQVkBx0wnG1O5CSumG5XYQjDVi5F5ak0W2jx3/7ONU2GuAdz0/VvJ10URPpYkesbv u5Rp2a4U/UGX8PRfOLeVsFTDGw+0wk2yozaw5c7l4C7VU5NM7gKgEYEuYrqPphpeP4EvD+SUybd11 pus/k8Y8xH2Ux0CQur3Hi0BAJEy5cfQ+NPqP8dT8ENyBYuC3oWy+4nvGxrBj+AnbTUbx4Y6+30rUu mIhg31vLX/FsqGV9aF+PGg==; Received: from [87.69.77.57] (port=2950 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 1oEVNQ-0001Ce-H9; Thu, 21 Jul 2022 08:34:00 -0400 Date: Thu, 21 Jul 2022 15:33:52 +0300 Message-Id: <83y1wmmyq7.fsf@gnu.org> From: Eli Zaretskii To: defun.foo@proton.me In-Reply-To: (defun.foo@proton.me) Subject: Re: bug#56643: 29.0.50; Help-mode bookmarks not loading with native compilation References: <83k089m4j0.fsf@gnu.org> <8335ewm2i1.fsf@gnu.org> <83a693lhms.fsf@gnu.org> <87sfmvtn99.fsf@web.de> <838ronkpzh.fsf@gnu.org> X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 56643 Cc: michael_heerdegen@web.de, 56643@debbugs.gnu.org, akrl@sdf.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Thu, 21 Jul 2022 10:01:57 +0000 > From: defun.foo@proton.me > Cc: Michael Heerdegen , akrl@sdf.org, 56643@debbugs.gnu.org > > > > Alternatively we could introduce a named helper function. Note there > > > are more calls of `help-setup-xref' using lambdas in arguments. > > > > > > And that would solve the problem? Did you try that? > > I tried it with describe-function and it does solve the problem, although as noted above there are many other functions that generate help buffers and pass in a lambda. I know very well there are other instances, I just wanted us to stay focused. > Named helper: > > (defun describe-function-xref-func (function buffer) > (let ((describe-function-orig-buffer > (if (buffer-live-p buffer) buffer))) > (describe-function function))) > > Revised describe-function snippet: > > (help-setup-xref > (list 'describe-function-xref-func function describe-function-orig-buffer) > (called-interactively-p 'interactive)) > > This produces the following bookmark, which I confirmed still works after restarting Emacs: > > ("named-function-help-bookmark" > (position . 1) > (last-modified 25305 7198 806743 243000) > (help-fn . describe-function-xref-func) > (help-args completing-read "*scratch*") > (position . 1) > (handler . help-bookmark-jump)) Thanks. If Andrea confirms that this won't have any problems with native-compilation, I will install such changes on the release branch (since AFAIU this issue is a regression in Emacs 28). From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 22 09:40:26 2022 Received: (at 56643) by debbugs.gnu.org; 22 Jul 2022 13:40:26 +0000 Received: from localhost ([127.0.0.1]:40451 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEstF-0003ma-Q9 for submit@debbugs.gnu.org; Fri, 22 Jul 2022 09:40:26 -0400 Received: from eggs.gnu.org ([209.51.188.92]:33648) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEstE-0003mD-3Q for 56643@debbugs.gnu.org; Fri, 22 Jul 2022 09:40:24 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43708) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oEst8-0003Y4-Eh; Fri, 22 Jul 2022 09:40:18 -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=HKJ/BlsAgxdBR4ZSo6IpSlpUspyEz9+cgC+bezcWFJU=; b=Uhf/ssJqkw0E hZ2gHIbKYdXSoDFtUlOstqcCo7Xv3VWP4Q0aQTArp0gEuwQTQG5oDPBZj0CnxcaJpw19HVp1M5X/P 8/srOlrtHI7vpDt3r8YLJBXFw/naqc/Fkvr3qCU7doXiFYdZrrE5Fis0+hUbosFkM+pblQ4/dbO7J pIM/baJvZ1eFSIj8IMK0HValSbR+u2VhDgSii+QV+mMXAMwUK7tp3SOZTZpHAnAlVJ63x6qiqIXcd cZkBLmx0YCBgU9OzUt13drmPYX9NJToVo3jKnqBX1HLBxj7uwslxb4K2xypBjS5dtGVMFn3k2qk/v JTyViF1IxKks7RQNPXa/SA==; Received: from [87.69.77.57] (port=3727 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 1oEst7-0003Dn-T0; Fri, 22 Jul 2022 09:40:18 -0400 Date: Fri, 22 Jul 2022 16:40:14 +0300 Message-Id: <83wnc5jmf5.fsf@gnu.org> From: Eli Zaretskii To: akrl@sdf.org In-Reply-To: <83y1wmmyq7.fsf@gnu.org> (message from Eli Zaretskii on Thu, 21 Jul 2022 15:33:52 +0300) Subject: Re: bug#56643: 29.0.50; Help-mode bookmarks not loading with native compilation References: <83k089m4j0.fsf@gnu.org> <8335ewm2i1.fsf@gnu.org> <83a693lhms.fsf@gnu.org> <87sfmvtn99.fsf@web.de> <838ronkpzh.fsf@gnu.org> <83y1wmmyq7.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 56643 Cc: michael_heerdegen@web.de, defun.foo@proton.me, 56643@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: michael_heerdegen@web.de, 56643@debbugs.gnu.org, akrl@sdf.org > Date: Thu, 21 Jul 2022 15:33:52 +0300 > From: Eli Zaretskii > > > > > Alternatively we could introduce a named helper function. Note there > > > > are more calls of `help-setup-xref' using lambdas in arguments. > > > > > > > > > And that would solve the problem? Did you try that? > > > > I tried it with describe-function and it does solve the problem, although as noted above there are many other functions that generate help buffers and pass in a lambda. > > I know very well there are other instances, I just wanted us to stay > focused. > > > Named helper: > > > > (defun describe-function-xref-func (function buffer) > > (let ((describe-function-orig-buffer > > (if (buffer-live-p buffer) buffer))) > > (describe-function function))) > > > > Revised describe-function snippet: > > > > (help-setup-xref > > (list 'describe-function-xref-func function describe-function-orig-buffer) > > (called-interactively-p 'interactive)) > > > > This produces the following bookmark, which I confirmed still works after restarting Emacs: > > > > ("named-function-help-bookmark" > > (position . 1) > > (last-modified 25305 7198 806743 243000) > > (help-fn . describe-function-xref-func) > > (help-args completing-read "*scratch*") > > (position . 1) > > (handler . help-bookmark-jump)) > > Thanks. If Andrea confirms that this won't have any problems with > native-compilation, I will install such changes on the release branch > (since AFAIU this issue is a regression in Emacs 28). Andrea, could you please tell if using a named function there will fix the problem? Thanks. From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 22 09:41:35 2022 Received: (at 56643) by debbugs.gnu.org; 22 Jul 2022 13:41:35 +0000 Received: from localhost ([127.0.0.1]:40455 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEsuN-0003od-7u for submit@debbugs.gnu.org; Fri, 22 Jul 2022 09:41:35 -0400 Received: from mx.sdf.org ([205.166.94.24]:64133) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEsuL-0003oU-5j for 56643@debbugs.gnu.org; Fri, 22 Jul 2022 09:41:34 -0400 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 26MDfVbJ013051 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Fri, 22 Jul 2022 13:41:32 GMT From: Andrea Corallo To: Eli Zaretskii Subject: Re: bug#56643: 29.0.50; Help-mode bookmarks not loading with native compilation References: <83k089m4j0.fsf@gnu.org> <8335ewm2i1.fsf@gnu.org> <83a693lhms.fsf@gnu.org> <87sfmvtn99.fsf@web.de> <838ronkpzh.fsf@gnu.org> <83y1wmmyq7.fsf@gnu.org> Date: Fri, 22 Jul 2022 13:41:32 +0000 In-Reply-To: <83y1wmmyq7.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 21 Jul 2022 15:33:52 +0300") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 56643 Cc: michael_heerdegen@web.de, defun.foo@proton.me, 56643@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: >> Date: Thu, 21 Jul 2022 10:01:57 +0000 >> From: defun.foo@proton.me >> Cc: Michael Heerdegen , akrl@sdf.org, 56643@debbugs.gnu.org >> >> > > Alternatively we could introduce a named helper function. Note there >> > > are more calls of `help-setup-xref' using lambdas in arguments. >> > >> > >> > And that would solve the problem? Did you try that? >> >> I tried it with describe-function and it does solve the problem, >> although as noted above there are many other functions that generate >> help buffers and pass in a lambda. > > I know very well there are other instances, I just wanted us to stay > focused. > >> Named helper: >> >> (defun describe-function-xref-func (function buffer) >> (let ((describe-function-orig-buffer >> (if (buffer-live-p buffer) buffer))) >> (describe-function function))) >> >> Revised describe-function snippet: >> >> (help-setup-xref >> (list 'describe-function-xref-func function describe-function-orig-buffer) >> (called-interactively-p 'interactive)) >> >> This produces the following bookmark, which I confirmed still works after restarting Emacs: >> >> ("named-function-help-bookmark" >> (position . 1) >> (last-modified 25305 7198 806743 243000) >> (help-fn . describe-function-xref-func) >> (help-args completing-read "*scratch*") >> (position . 1) >> (handler . help-bookmark-jump)) > > Thanks. If Andrea confirms that this won't have any problems with > native-compilation, I will install such changes on the release branch > (since AFAIU this issue is a regression in Emacs 28). I confirm it should just work. Actually I think the use of a lambda there was not really optimal in first place as is not capturing anything and we were serializing and deserializing the same code over and over again for no good reason. BTW, I mention this for other similar cases, another fix would be to add (declare (speed -1)) to `describe-function'. Ideally would be _really_ nice to add it directly to the lambda we want to be able to se/deserialize, but AFAIK the declare semantinc is not available to lambdas :( Probably an improvement to keep in mind... Thanks Andrea From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 22 10:41:02 2022 Received: (at 56643) by debbugs.gnu.org; 22 Jul 2022 14:41:02 +0000 Received: from localhost ([127.0.0.1]:42115 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEtpu-000631-Ea for submit@debbugs.gnu.org; Fri, 22 Jul 2022 10:41:02 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46686) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEtps-00062Y-0W for 56643@debbugs.gnu.org; Fri, 22 Jul 2022 10:41:00 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44314) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oEtpm-0000dO-7Y; Fri, 22 Jul 2022 10:40:54 -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=tfxeUPMkcYUP3Hj4BmkZFkbXT6AtKhVCwPSlJojBYDo=; b=A6EDlOaqrzjG W2ALhy3MS9aWgX31OWFarjCjaCpMs0yI0117pvK+3VWbRtRbmgBOlwobkfAhhv2TIbIoJrR7MLCv1 GG2gENJ4mHI9rnA3maGpv9YO+RMi+462VE/X1AcNeuwVE7Ub1AYacaNL7uLBkO1N6Jebcw+bu1hO8 q0oedJVWTaTzcIO1k9k6vjyoVV6Nyuim2cdQMQF/gyfaERVUHW5qBm5IkZy0IBoX7vXcpDuR0y+95 LqOHDcXtfKV8nxnf/uT2q6WLPtx5ND0q7miWvXnotYRP00/80deKkUdJr/RFC/bsPklB3+h0LhW49 CNNWUoSPIL6Z9dKUYbgv+A==; Received: from [87.69.77.57] (port=3519 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 1oEtpk-000114-PQ; Fri, 22 Jul 2022 10:40:54 -0400 Date: Fri, 22 Jul 2022 17:40:48 +0300 Message-Id: <83pmhxjjm7.fsf@gnu.org> From: Eli Zaretskii To: Andrea Corallo In-Reply-To: (message from Andrea Corallo on Fri, 22 Jul 2022 13:41:32 +0000) Subject: Re: bug#56643: 29.0.50; Help-mode bookmarks not loading with native compilation References: <83k089m4j0.fsf@gnu.org> <8335ewm2i1.fsf@gnu.org> <83a693lhms.fsf@gnu.org> <87sfmvtn99.fsf@web.de> <838ronkpzh.fsf@gnu.org> <83y1wmmyq7.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 56643 Cc: michael_heerdegen@web.de, defun.foo@proton.me, 56643@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Andrea Corallo > Cc: defun.foo@proton.me, michael_heerdegen@web.de, 56643@debbugs.gnu.org > Date: Fri, 22 Jul 2022 13:41:32 +0000 > > >> ("named-function-help-bookmark" > >> (position . 1) > >> (last-modified 25305 7198 806743 243000) > >> (help-fn . describe-function-xref-func) > >> (help-args completing-read "*scratch*") > >> (position . 1) > >> (handler . help-bookmark-jump)) > > > > Thanks. If Andrea confirms that this won't have any problems with > > native-compilation, I will install such changes on the release branch > > (since AFAIU this issue is a regression in Emacs 28). > > I confirm it should just work. Thanks, so I will make those changes on the release branch. > Actually I think the use of a lambda there was not really optimal in > first place as is not capturing anything and we were serializing and > deserializing the same code over and over again for no good reason. Right. > BTW, I mention this for other similar cases, another fix would be to add > (declare (speed -1)) to `describe-function'. Thanks, good to know. I guess we should document that in the ELisp manual. From debbugs-submit-bounces@debbugs.gnu.org Sat Jul 23 05:58:01 2022 Received: (at 56643-done) by debbugs.gnu.org; 23 Jul 2022 09:58:01 +0000 Received: from localhost ([127.0.0.1]:43537 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oFBtY-0008Ue-VM for submit@debbugs.gnu.org; Sat, 23 Jul 2022 05:58:01 -0400 Received: from eggs.gnu.org ([209.51.188.92]:42016) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oFBtX-0008UQ-44 for 56643-done@debbugs.gnu.org; Sat, 23 Jul 2022 05:58:00 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:36464) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oFBtR-0001Cg-O4; Sat, 23 Jul 2022 05:57:53 -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=VvssJh3nVgODG0QJFtTtgN0VP5leD3j4TLRIIkxf1o8=; b=GKFMVu2BlQmp vERQrQMydbnnli5uLlLvlGQgeoPtbbc+k6dWbcNCRFhM2UOOESXnQcbCLHaN8Brv8wmD1H2x5BGT+ hyYmK3XWBt/cQQS9Lggx3e0YpHzyCfsqfVpn2G0EyqMPchccJdHCYSlUADhkW5bwd1ZHFTOnn2rY2 jtcoe1xzpiDTjCkvV3A2AkmAXWMQY4h6WKOlVA3jzJ0rimpEslBRZiYjxV5gZpo8AcFOChXmzwMOt SHBZdFTvzRZ893Jf1db/LHMs3kCuG27iGSWEiZK7Hkr+NH001sklrEBwjTLQo7uj5kxxR/6C51UN8 pk9rSoAfPXSt7l96gFIEcg==; Received: from [87.69.77.57] (port=4099 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 1oFBtR-0002iy-85; Sat, 23 Jul 2022 05:57:53 -0400 Date: Sat, 23 Jul 2022 12:57:49 +0300 Message-Id: <83leski21u.fsf@gnu.org> From: Eli Zaretskii To: akrl@sdf.org, michael_heerdegen@web.de, defun.foo@proton.me In-Reply-To: <83pmhxjjm7.fsf@gnu.org> (message from Eli Zaretskii on Fri, 22 Jul 2022 17:40:48 +0300) Subject: Re: bug#56643: 29.0.50; Help-mode bookmarks not loading with native compilation References: <83k089m4j0.fsf@gnu.org> <8335ewm2i1.fsf@gnu.org> <83a693lhms.fsf@gnu.org> <87sfmvtn99.fsf@web.de> <838ronkpzh.fsf@gnu.org> <83y1wmmyq7.fsf@gnu.org> <83pmhxjjm7.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 56643-done Cc: 56643-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: michael_heerdegen@web.de, defun.foo@proton.me, 56643@debbugs.gnu.org > Date: Fri, 22 Jul 2022 17:40:48 +0300 > From: Eli Zaretskii > > > > Thanks. If Andrea confirms that this won't have any problems with > > > native-compilation, I will install such changes on the release branch > > > (since AFAIU this issue is a regression in Emacs 28). > > > > I confirm it should just work. > > Thanks, so I will make those changes on the release branch. Done. > > BTW, I mention this for other similar cases, another fix would be to add > > (declare (speed -1)) to `describe-function'. > > Thanks, good to know. I guess we should document that in the ELisp > manual. Also done. Closing. From unknown Sat Aug 16 00:30:11 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 20 Aug 2022 11:24:08 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator