summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog19
-rw-r--r--lisp/ediff-init.el8
-rw-r--r--lisp/ediff-util.el3
-rw-r--r--lisp/ediff-wind.el4
-rw-r--r--lisp/emulation/viper-util.el18
-rw-r--r--lisp/emulation/viper.el6
-rw-r--r--man/ediff.texi1
7 files changed, 43 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog
index eae81e5ddc4..91f397ec11c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2002-02-10 Michael Kifer <kifer@cs.stonybrook.edu>
+
+ * viper-util.el (viper-read-key-sequence): fixed so it'll read
+ fast key sequences in emacs native mode
+ (viper-events-to-keys): deleted
+
+ * viper.el (describe-key, describe-key-briefly): get rid of
+ viper-events-to-keys.
+
+ * ediff-init.el (ediff-has-gutter-support): Steven Turnbull's patch.
+
+ * ediff-wind.el (ediff-setup-control-frame): Use
+ ediff-has-gutter-support.
+
+ * ediff-util.el (ediff-dispose-of-variant-according-to-user):
+ check if buff is alive.
+
+ * ediff.el: typo in comment.
+
2002-02-08 Richard M. Stallman <rms@gnu.org>
* Makefile.in (maybe_bootstrap): Add an infinite sleep-loop.
diff --git a/lisp/ediff-init.el b/lisp/ediff-init.el
index 729d6f76e19..ae6d05ab40a 100644
--- a/lisp/ediff-init.el
+++ b/lisp/ediff-init.el
@@ -87,6 +87,14 @@ that Ediff doesn't know about.")
nil ; emacs form
))
+
+(defun ediff-has-gutter-support-p ()
+ (ediff-cond-compile-for-xemacs-or-emacs
+ (and (featurep 'gutter) (console-on-window-system-p)) ; xemacs form
+ nil ; emacs form
+ ))
+
+
(defun ediff-use-toolbar-p ()
(and (ediff-has-toolbar-support-p) ;Can it do it ?
(boundp 'ediff-use-toolbar-p)
diff --git a/lisp/ediff-util.el b/lisp/ediff-util.el
index c7f0be3638d..e1dbdc7f336 100644
--- a/lisp/ediff-util.el
+++ b/lisp/ediff-util.el
@@ -2628,7 +2628,8 @@ delete this buffer in another session as well."
;; BUFF is the buffer, BUFF-TYPE is either 'A, or 'B, 'C, 'Ancestor
(defun ediff-dispose-of-variant-according-to-user (buff bufftype ask keep-variants)
;; if this is indirect buffer, kill it and substitute with direct buf
- (if (ediff-with-current-buffer buff ediff-temp-indirect-buffer)
+ (if (and (ediff-buffer-live-p buff)
+ (ediff-with-current-buffer buff ediff-temp-indirect-buffer))
(let ((wind (ediff-get-visible-buffer-window buff))
(base (buffer-base-buffer buff))
(modified-p (buffer-modified-p buff)))
diff --git a/lisp/ediff-wind.el b/lisp/ediff-wind.el
index ede3e569ae0..8d8334705d2 100644
--- a/lisp/ediff-wind.el
+++ b/lisp/ediff-wind.el
@@ -968,8 +968,8 @@ into icons, regardless of the window manager."
(if (ediff-has-toolbar-support-p)
(ediff-cond-compile-for-xemacs-or-emacs
(progn ; xemacs
- (set-specifier top-toolbar-height (list ctl-frame 2))
- (set-specifier top-gutter (list ctl-frame nil))
+ (if (ediff-has-gutter-support-p)
+ (set-specifier top-gutter (list ctl-frame nil)))
(sit-for 0)
(set-specifier top-toolbar-height (list ctl-frame 0))
;;(set-specifier bottom-toolbar-height (list ctl-frame 0))
diff --git a/lisp/emulation/viper-util.el b/lisp/emulation/viper-util.el
index 817db016ef4..bb748fcadfc 100644
--- a/lisp/emulation/viper-util.el
+++ b/lisp/emulation/viper-util.el
@@ -925,12 +925,6 @@
))
-(defsubst viper-events-to-keys (events)
- (viper-cond-compile-for-xemacs-or-emacs
- (events-to-keys events) ; xemacs
- events ; emacs
- ))
-
;; it is suggested that an event must be copied before it is assigned to
;; last-command-event in XEmacs
@@ -969,15 +963,21 @@
(elt (listify-key-sequence keyseq) 0)))
(if (viper-ESC-event-p event)
(let (unread-command-events)
- (viper-set-unread-command-events keyseq)
(if (viper-fast-keysequence-p)
(let ((viper-vi-global-user-minor-mode nil)
(viper-vi-local-user-minor-mode nil)
+ (viper-vi-intercept-minor-mode nil)
+ (viper-insert-intercept-minor-mode nil)
(viper-replace-minor-mode nil) ; actually unnecessary
(viper-insert-global-user-minor-mode nil)
(viper-insert-local-user-minor-mode nil))
- (setq keyseq (read-key-sequence prompt continue-echo)))
- (setq keyseq (read-key-sequence prompt continue-echo)))))
+ ;; Note: set unread-command-events only after testing for fast
+ ;; keysequence. Otherwise, viper-fast-keysequence-p will be
+ ;; always t -- whether there is anything after ESC or not
+ (viper-set-unread-command-events keyseq)
+ (setq keyseq (read-key-sequence nil)))
+ (viper-set-unread-command-events keyseq)
+ (setq keyseq (read-key-sequence nil)))))
keyseq))
diff --git a/lisp/emulation/viper.el b/lisp/emulation/viper.el
index 65c426da535..a0de2e27275 100644
--- a/lisp/emulation/viper.el
+++ b/lisp/emulation/viper.el
@@ -982,14 +982,12 @@ remains buffer-local."
(defadvice describe-key (before viper-read-keyseq-ad protect activate)
"Force to read key via `viper-read-key-sequence'."
- (interactive (list (viper-events-to-keys
- (viper-read-key-sequence "Describe key: ")))))
+ (interactive (list (viper-read-key-sequence "Describe key: "))))
(defadvice describe-key-briefly
(before viper-read-keyseq-ad protect activate)
"Force to read key via `viper-read-key-sequence'."
- (interactive (list (viper-events-to-keys
- (viper-read-key-sequence "Describe key briefly: ")))))
+ (interactive (list (viper-read-key-sequence "Describe key briefly: "))))
(defadvice find-file (before viper-add-suffix-advice activate)
diff --git a/man/ediff.texi b/man/ediff.texi
index 1747a9bc3c5..76c6bf688c1 100644
--- a/man/ediff.texi
+++ b/man/ediff.texi
@@ -2458,6 +2458,7 @@ Peter Stout (Peter_Stout@@cs.cmu.edu),
Chuck Thompson (cthomp@@cs.uiuc.edu),
Ray Tomlinson (tomlinso@@bbn.com),
Raymond Toy (toy@@rtp.ericsson.se),
+Stephen J. Turnbull (stephen@@xemacs.org),
Jan Vroonhof (vroonhof@@math.ethz.ch),
Colin Walters (walters@@cis.ohio-state.edu),
Philippe Waroquiers (philippe.waroquiers@@eurocontrol.be),