diff options
author | Michael Kifer <kifer@cs.stonybrook.edu> | 2005-07-19 05:01:20 +0000 |
---|---|---|
committer | Michael Kifer <kifer@cs.stonybrook.edu> | 2005-07-19 05:01:20 +0000 |
commit | acfb6f24f7aed6f004f1cc452761d1d17f3041ff (patch) | |
tree | 1914f928acb5ecb6dcc15acfeb937cd3e839c727 /lisp/emulation/viper-cmd.el | |
parent | c061dd8f05146e6724b6fc4d5f2b524e69872cac (diff) | |
download | emacs-acfb6f24f7aed6f004f1cc452761d1d17f3041ff.tar.gz |
* viper-cmd.el (viper-escape-to-state): bug fix
(viper-envelop-ESC-key): changed the definition of fast keysequence so
it'll work with keyboard macros
* ediff.el (ediff-patch-buffer): changed the docstring.
Diffstat (limited to 'lisp/emulation/viper-cmd.el')
-rw-r--r-- | lisp/emulation/viper-cmd.el | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lisp/emulation/viper-cmd.el b/lisp/emulation/viper-cmd.el index ecd5251891c..47b677b2e19 100644 --- a/lisp/emulation/viper-cmd.el +++ b/lisp/emulation/viper-cmd.el @@ -774,7 +774,8 @@ Vi's prefix argument will be used. Otherwise, the prefix argument passed to ) (if (commandp com) - (progn + ;; pretend that current state is the state we excaped to + (let ((viper-current-state state)) (setq prefix-arg (or prefix-arg arg)) (command-execute com))) ) @@ -996,9 +997,12 @@ as a Meta key and any number of multiple escapes is allowed." (inhibit-quit t)) (if (viper-ESC-event-p event) (progn - (if (viper-fast-keysequence-p) + ;; Emacs 22.50.8 introduced a bug, which makes even a single ESC into + ;; a fast keyseq. To guard against this, we added a check if there + ;; are other events as well + (if (and (viper-fast-keysequence-p) unread-command-events) (progn - (let (minor-mode-map-alist) + (let (minor-mode-map-alist emulation-mode-map-alists) (viper-set-unread-command-events event) (setq keyseq (read-key-sequence nil 'continue-echo)) ) ; let |