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
On Jan 16 2020, yyoncho wrote:
> 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*\"
>
> Expected: the filter function must be called in *scratch* since this is
> the buffer you want to check the bindings.
The problem is that describe-buffer-bindings only changes the buffer to
look up the bindings, but everything that generates the description
(starting with describe-map-tree) doesn't know about that other buffer.
Andreas.
--
Andreas Schwab, schwab <at> linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1
"And now for something completely different."
This bug report was last modified 3 years and 29 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.