+2005-07-19 Michael Kifer <kifer@cs.stonybrook.edu>
+
+ * 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.
+
2005-07-19 Kenichi Handa <handa@m17n.org>
* international/mule-cmds.el (select-safe-coding-system): Try to
;;;###autoload
(defun ediff-patch-buffer (&optional arg patch-buf)
- "Run Ediff by patching BUFFER-NAME.
-Without prefix argument: asks if the patch is in some buffer and prompts for
-the buffer or a file, depending on the answer.
-With prefix arg=1: assumes the patch is in a file and prompts for the file.
-With prefix arg=2: assumes the patch is in a buffer and prompts for the buffer."
+ "Run Ediff by patching the buffer specified at prompt.
+Without the optional prefix ARG, asks if the patch is in some buffer and
+prompts for the buffer or a file, depending on the answer.
+With ARG=1, assumes the patch is in a file and prompts for the file.
+With ARG=2, assumes the patch is in a buffer and prompts for the buffer.
+PATCH-BUF is an optional argument, which specifies the buffer that contains the
+patch. If not given, the user is prompted according to the prefix argument."
(interactive "P")
(require 'ediff-ptch)
(setq patch-buf
)
(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)))
)
(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