GNU bug report logs -
#9146
24.0.50; M-x broken in console mode with viper (always gives: "viper bell")
Previous Next
Reported by: Stefano Zacchiroli <zack <at> upsilon.cc>
Date: Fri, 22 Jul 2011 10:46:01 UTC
Severity: important
Found in version 24.0.50
Done: Chong Yidong <cyd <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
OK I can reproduce your problem and have tracked it down to a change of
mine in the keymap.c code.
The problem is that viper-intercept-ESC-key relies on a quirk of
the function key-binding which I fixed in Emacs-24.
More specifically, in Emacs-23, the following happened:
(local-set-key "\e" 'toto)
(key-binding "\ex") => execute-extended-command
I.e. key-binding returned a binding that is not actually valid because
it's hidden by a shorter key-sequence in a keymap of higher precedence.
This has been fixed in Emacs-24 where it now returns nil in this case.
In the case of viper-intercept-ESC-key, the problematic keybinding is
not in the local-map but in a minor-mode-map installed by Viper and the
command is (of course) viper-intercept-ESC-key, but the problem is
the same.
IOW viper-intercept-ESC-key needs to be changed to call key-binding in
a context where Viper's minor-mode map(s) have been temporarily disabled
so the ESC binding to viper-intercept-ESC-key doesn't hide the thing
we're looking for.
Stefan
This bug report was last modified 12 years and 336 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.