GNU bug report logs -
#44500
26.3; `prefix-command-echo-keystrokes-functions' causes regression
Previous Next
Reported by: Drew Adams <drew.adams <at> oracle.com>
Date: Sat, 7 Nov 2020 06:49:02 UTC
Severity: normal
Tags: moreinfo
Found in version 26.3
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
Message #8 received at 44500 <at> debbugs.gnu.org (full text, mbox):
tags 44500 + moreinfo
thanks
Drew Adams <drew.adams <at> oracle.com> writes:
> This variable was introduced in Emacs 25, apparently.
>
> I'm not happy that it's used/implemented the way it is, by default. I
> have a function that calls `read-char' in a loop, and it took me a while
> to figure out why this code broke starting with Emacs 25. That function
> is called by a command bound to `P B', where `P' is a prefix key.
>
> I'm not sure why, based on the doc of the variable etc., but even though
> `P B' is not itself a prefix key, the default value of the variable
> interfered with the normal behavior in the echo area. After finding out
> the cause, I now bind the var to nil in that part of my code. But this
> variable shouldn't have the effect it has, IMO.
>
> Here's the function I use:
>
> (defun bmkp-bmenu-read-filter-input ()
[...]
>
> This code worked fine prior to Emacs 25. Starting with that release I
> had to bind `prefix-command-echo-keystrokes-functions' to nil. I
> shouldn't have had to do that.
Could you provide a minimal example to reproduce the issue?
> If I don't add that binding, then:
>
> You don't always even see the prompt "Pattern: <etc.>". Dunno why.
>
> Instead, you see `P-', then `P B-', as if `P B' were a prefix key (only
> `P' is a prefix key), and each char you type is also echoed as if it
> were part of a prefix key, i.e., it's followed by a hyphen.
>
> So if you type "red" after the (invisible) prompt, you see `P B r-',
> then `P B r e-', then `P B r e d-'. You should instead see `Pattern: r',
> then `Pattern: re', then `Pattern: red'.
>
> Binding the variable to nil fixes the problem. But this behavior is a
> bug, IMO, and the introduction of the variable shouldn't have changed
> the default echo-area behavior of Emacs.
>
> Hope the problem description is clear enough.
>
> In GNU Emacs 26.3 (build 1, x86_64-w64-mingw32)
> of 2019-08-29
> Repository revision: 96dd0196c28bc36779584e47fffcca433c9309cd
> Windowing system distributor `Microsoft Corp.', version 10.0.18362
> Configured using:
> `configure --without-dbus --host=x86_64-w64-mingw32
> --without-compress-install 'CFLAGS=-O2 -static -g3''
This bug report was last modified 3 years and 245 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.