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
Message #26 received at 9146 <at> debbugs.gnu.org (full text, mbox):
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
> 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.
Since no one else has stepped up to the plate, I took a crack at this.
Stefano, could you test if the following patch does the right thing?
*** lisp/emulation/viper-cmd.el 2012-01-19 07:21:25 +0000
--- lisp/emulation/viper-cmd.el 2012-02-27 10:10:42 +0000
***************
*** 1086,1093 ****
(defun viper-intercept-ESC-key ()
"Function that implements ESC key in Viper emulation of Vi."
(interactive)
! (let ((cmd (or (key-binding (viper-envelop-ESC-key))
! (lambda () (interactive) (error "Viper bell")))))
;; call the actual function to execute ESC (if no other symbols followed)
;; or the key bound to the ESC sequence (if the sequence was issued
--- 1086,1098 ----
(defun viper-intercept-ESC-key ()
"Function that implements ESC key in Viper emulation of Vi."
(interactive)
! (let* ((event (viper-envelop-ESC-key))
! (cmd (cond ((equal event viper-ESC-key)
! 'viper-intercept-ESC-key)
! ((let ((emulation-mode-map-alists nil))
! (key-binding event)))
! (t
! (error "Viper bell")))))
;; call the actual function to execute ESC (if no other symbols followed)
;; or the key bound to the ESC sequence (if the sequence was issued
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.