GNU bug report logs -
#59793
29.0.60; subr.elc is not compiled correctly
Previous Next
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
View this message in rfc822 format
> 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.
You need to find a different way of overriding what insert-for-yank does.
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.