GNU bug report logs -
#39149
27.0.50; describe-buffer-bindings is calling :filter function in wrong buffer
Previous Next
Reported by: yyoncho <yyoncho <at> gmail.com>
Date: Thu, 16 Jan 2020 07:00:02 UTC
Severity: normal
Found in version 27.0.50
Fixed in version 29.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Stefan Kangas <stefankangas <at> gmail.com> writes:
>>> To reproduce (eval in scratch buffer)
>>> (define-key global-map (kbd "C-c C-l r")
>>> `(menu-item "2" switch-to-buffer
>>> :filter ,(lambda (cmd)
>>> (print (format "Called in %s" (current-buffer)))
>>> cmd)))
>>> (with-temp-buffer
>>> (with-output-to-string
>>> (describe-buffer-bindings (get-buffer "*scratch*") [3 12] t)))
>>>
>>> This outputs:
>>>
>>> \"Called in *temp*\"
>>
>> I tried this recipe, but I'm not getting the :filter function called at
>> all. Do you have a recipe, starting from "emacs -Q", that reproduces
>> this bug?
>
> I can reproduce the above on Emacs 26.3, but not on master.
This change in behavior was caused by this commit:
commit 8a1441310aa151e739cfed3bd2eff3358edc8001
Author: Stefan Kangas <stefan <at> marxist.se>
Date: Sun Oct 18 15:32:22 2020 +0200
Prefer Lisp version of describe-map-tree
So as suspected, there is a difference in behavior between the new Lisp
version of describe-map-tree and the new C version.
This bug report was last modified 3 years and 96 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.