GNU bug report logs - #59793
29.0.60; subr.elc is not compiled correctly

Previous Next

Package: emacs;

Reported by: Feng Shu <tumashu <at> 163.com>

Date: Sat, 3 Dec 2022 07:26:02 UTC

Severity: normal

Tags: notabug

Found in version 29.0.60

Done: Stefan Kangas <stefankangas <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #90 received at control <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefankangas <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: tumashu <at> 163.com, 59793 <at> debbugs.gnu.org, akib <at> disroot.org,
 miha <at> kamnitnik.top
Subject: Re: bug#59793: 29.0.60; subr.elc is not compiled correctly
Date: Sun, 10 Sep 2023 12:26:00 -0700
tags 59793 + notabug
close 59793
thanks

Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: miha <at> kamnitnik.top
>> Cc: tumashu <at> 163.com, 59793 <at> debbugs.gnu.org
>> Date: Sun, 04 Dec 2022 18:27:07 +0100
>>
>> In Emacs 29.0.50, I checked M-x disassemble RET insert-for-yank-1 RET
>> and it looks like it uses an 'insert' bytcode operation instead of
>> funcalling the 'insert' function. I think this is what prevents
>> overriding of 'insert' from working on byte-compiled code, as explained
>> in '(elisp) Advice and Byte Code'.
>
> Of course!  And the same can happen with other function calls that the byte
> compiler converts into bytecode operations.
>
> That is why this technique is unreliable and shouldn't be used.

This bug report was about redefining built-in functions that have
opcodes and then wondering why the bytecode behavior differs from the
interpreted.

The answer is: don't do that, use add-advice instead.

So I'm closing this bug report.




This bug report was last modified 1 year and 252 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.