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 #41 received at 59793 <at> debbugs.gnu.org (full text, mbox):

From: Akib Azmain Turja <akib <at> disroot.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Feng Shu <tumashu <at> 163.com>, 59793 <at> debbugs.gnu.org
Subject: Re: bug#59793: 29.0.60; subr.elc is not compiled correctly
Date: Sun, 04 Dec 2022 17:21:28 +0600
[Message part 1 (text/plain, inline)]
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Feng Shu <tumashu <at> 163.com>
>> Cc: Akib Azmain Turja <akib <at> disroot.org>,  59793 <at> debbugs.gnu.org
>> Date: Sun, 04 Dec 2022 05:49:06 +0800
>> 
>> > You have redefined a subr.el function with cl-letf*, so how is what happens
>> > as result a bug in Emacs?  Does the original subr.el function not do what
>> > it's supposed to do, before you replace it?
>> >
>> > I understand you didn't expect the result of cl-letf*, and were surprised by
>> > what you saw, but I don't understand why you expect the Emacs development to
>> > do something about your surprise.
>> 
>> I think the issue is that: 
>> when I run emacs-29 first, I can not temp override `insert' function
>> in `insert-for-yank-1' with the help of cl-letf in bug59593-yank
>> 
>> (require 'cl-lib)
>> (defun bug59593-yank (&optional arg)
>>   (interactive "*P")
>>   (cl-letf* ((inhibit-read-only t)
>>              (insert-for-yank (symbol-function #'insert-for-yank))
>>              ((symbol-function #'insert-for-yank)
>>               (lambda (&rest args)
>>                 (cl-letf (((symbol-function #'insert)
>>                            (lambda (&rest args)
>>                              (message
>>                               "%S"
>>                               (mapconcat (lambda (arg)
>>                                            (if (stringp arg)
>>                                                arg
>>                                              (string arg)))
>>                                          args "")))))
>>                   (apply insert-for-yank args)))))
>>     (yank arg)))
>> 
>> 
>> but after I run (load "subr.el"), overriding `insert' success.
>> if I run (load "subr.elc"), overriding do not success.
>> 
>> so I think subr.elc maybe has some problem.
>
> No, I see no problem in subr.elc here.

Did you the subr.elc attached in the first message?  Note that my
subr.elc works good, but using the subr.elc attached in the first
message shows the problem.

>
> You need to find a different way of overriding what insert-for-yank does.

Why?  And any suggestion how?

-- 
Akib Azmain Turja, GPG key: 70018CE5819F17A3BBA666AFE74F0EFA922AE7F5
Fediverse: akib <at> hostux.social
Codeberg: akib
emailselfdefense.fsf.org | "Nothing can be secure without encryption."
[signature.asc (application/pgp-signature, inline)]

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

Previous Next


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