diff options
author | Michael Kifer <kifer@cs.stonybrook.edu> | 2008-11-16 04:55:45 +0000 |
---|---|---|
committer | Michael Kifer <kifer@cs.stonybrook.edu> | 2008-11-16 04:55:45 +0000 |
commit | 42acc58182959fd891b5f4263d900c088de24c13 (patch) | |
tree | 8a8dccc528efba870afea719b5e73551be776d34 /lisp/emulation | |
parent | 61c11870cc2f9e71e8c3608969b27afe323ce500 (diff) | |
download | emacs-42acc58182959fd891b5f4263d900c088de24c13.tar.gz |
2008-11-16 Michael Kifer <kifer@cs.stonybrook.edu>
* viper-init.el (viper-ESC-keyseq-timeout): Make it into a function
instead of a variable.
* viper-util.el (viper-fast-keysequence-p): Changed to use
viper-ESC-keyseq-timeout as a function.
(viper-get-saved-cursor-color-in-replace-mode): Use defun instead of
defsubst.
* viper-cmd.el: Let line-move-visual to nil when using next-line or
previous-line.
(viper-R-state-post-command-sentinel): Use defun instead of defsubst.
* viper-keym.el (viper-ESC-key): Use (kbd "ESC").
* ediff-util.el (ediff-toggle-multiframe): Check if control window is
live.
(ediff-save-buffer): Let window-min-height to 2.
* ediff-wind.el (ediff-setup-windows-plain-compare): Avoid selecting
the minibuffer.
Diffstat (limited to 'lisp/emulation')
-rw-r--r-- | lisp/emulation/viper-cmd.el | 23 | ||||
-rw-r--r-- | lisp/emulation/viper-init.el | 18 | ||||
-rw-r--r-- | lisp/emulation/viper-keym.el | 32 | ||||
-rw-r--r-- | lisp/emulation/viper-util.el | 10 |
4 files changed, 29 insertions, 54 deletions
diff --git a/lisp/emulation/viper-cmd.el b/lisp/emulation/viper-cmd.el index 18fa94d1cd9..2e9449c513f 100644 --- a/lisp/emulation/viper-cmd.el +++ b/lisp/emulation/viper-cmd.el @@ -216,7 +216,7 @@ (marker-position viper-insert-point)) (setq viper-pre-command-point (marker-position viper-insert-point)))) -(defsubst viper-R-state-post-command-sentinel () +(defun viper-R-state-post-command-sentinel () ;; Restoring cursor color is needed despite ;; viper-replace-state-pre-command-sentinel: When you jump to another buffer ;; in another frame, the pre-command hook won't change cursor color to @@ -2762,9 +2762,10 @@ On reaching beginning of line, stop and signal error." (defun viper-next-line-carefully (arg) (condition-case nil ;; do not use forward-line! need to keep column - (if (featurep 'emacs) - (with-no-warnings (next-line arg)) - (next-line arg)) + (let ((line-move-visual nil)) + (if (featurep 'emacs) + (with-no-warnings (next-line arg)) + (next-line arg))) (error nil))) @@ -3064,9 +3065,10 @@ On reaching beginning of line, stop and signal error." (com (viper-getCom arg))) (if com (viper-move-marker-locally 'viper-com-point (point))) ;; do not use forward-line! need to keep column - (if (featurep 'emacs) - (with-no-warnings (next-line val)) - (next-line val)) + (let ((line-move-visual nil)) + (if (featurep 'emacs) + (with-no-warnings (next-line val)) + (next-line val))) (if viper-ex-style-motion (if (and (eolp) (not (bolp))) (backward-char 1))) (setq this-command 'next-line) @@ -3113,9 +3115,10 @@ If point is on a widget or a button, simulate clicking on that widget/button." (com (viper-getCom arg))) (if com (viper-move-marker-locally 'viper-com-point (point))) ;; do not use forward-line! need to keep column - (if (featurep 'emacs) - (with-no-warnings (previous-line val)) - (previous-line val)) + (let ((line-move-visual nil)) + (if (featurep 'emacs) + (with-no-warnings (previous-line val)) + (previous-line val))) (if viper-ex-style-motion (if (and (eolp) (not (bolp))) (backward-char 1))) (setq this-command 'previous-line) diff --git a/lisp/emulation/viper-init.el b/lisp/emulation/viper-init.el index d8eaf253d16..9894ec8beda 100644 --- a/lisp/emulation/viper-init.el +++ b/lisp/emulation/viper-init.el @@ -525,15 +525,6 @@ will make it hard to use Vi-style timeout macros." :type 'integer :group 'viper-misc) -(defcustom viper-ESC-keyseq-timeout (if (viper-window-display-p) - 0 viper-fast-keyseq-timeout) - "*Key sequence beginning with ESC and separated by no more than this many milliseconds is considered to be generated by a keyboard function key. -Setting this too high may slow down switching from insert to vi state. Setting -this value too low will make it impossible to use function keys in insert mode -on a dumb terminal." - :type 'integer - :group 'viper-misc) - (defcustom viper-translate-all-ESC-keysequences (not (viper-window-display-p)) "Allow translation of all key sequences into commands. Normally, Viper lets Emacs translate only those ESC key sequences that are @@ -996,6 +987,15 @@ Should be set in `~/.viper' file." (set (make-local-variable 'bar-cursor) 2) (setq cursor-type '(bar . 2)))) +(defun viper-ESC-keyseq-timeout () + "*Key sequence beginning with ESC and separated by no more than this many milliseconds is considered to be generated by a keyboard function key. +Setting this too high may slow down switching from insert to vi state. Setting +this value too low will make it impossible to use function keys in insert mode +on a dumb terminal." + (if (viper-window-display-p) + 0 viper-fast-keyseq-timeout)) + + (provide 'viper-init) diff --git a/lisp/emulation/viper-keym.el b/lisp/emulation/viper-keym.el index dc24b83e3b6..90c4c627b7d 100644 --- a/lisp/emulation/viper-keym.el +++ b/lisp/emulation/viper-keym.el @@ -193,36 +193,8 @@ Enter as a sexp. Examples: \"\\C-z\", [(control ?z)]." :type 'string :group 'viper) -(defcustom viper-ESC-key (if (viper-window-display-p) [(escape)] "\e") - "Key used to ESC. -Enter as a sexp. Examples: \"\\e\", [(escape)]. -If running in a terminal, [(escape)] is not understood, so must use \"\\e\"." - :type 'sexp - :group 'viper - :set (lambda (symbol value) - (let ((old-value (if (boundp 'viper-ESC-key) - viper-ESC-key - [(escape)]))) - (mapc - (lambda (buf) - (save-excursion - (set-buffer buf) - (when (and (boundp 'viper-insert-intercept-map) - (keymapp viper-insert-intercept-map)) - (when old-value - (define-key viper-insert-intercept-map old-value nil)) - (define-key - viper-insert-intercept-map value 'viper-intercept-ESC-key)) - (when (and (boundp 'viper-vi-intercept-map) - (keymapp viper-vi-intercept-map)) - (when old-value - (define-key viper-vi-intercept-map old-value nil)) - (define-key - viper-vi-intercept-map value 'viper-intercept-ESC-key)) - )) - (buffer-list)) - (set-default symbol value) - ))) +(defvar viper-ESC-key (kbd "ESC") + "Key used to ESC.") ;;; Variables used by minor modes diff --git a/lisp/emulation/viper-util.el b/lisp/emulation/viper-util.el index 9bb047183dc..6976340b964 100644 --- a/lisp/emulation/viper-util.el +++ b/lisp/emulation/viper-util.el @@ -196,7 +196,7 @@ Otherwise return the normal value." color))))))) -(defsubst viper-get-saved-cursor-color-in-replace-mode () +(defun viper-get-saved-cursor-color-in-replace-mode () (or (funcall (if (featurep 'emacs) 'frame-parameter 'frame-property) @@ -206,7 +206,7 @@ Otherwise return the normal value." (viper-frame-value viper-emacs-state-cursor-color)) (viper-frame-value viper-vi-state-cursor-color)))) -(defsubst viper-get-saved-cursor-color-in-insert-mode () +(defun viper-get-saved-cursor-color-in-insert-mode () (or (funcall (if (featurep 'emacs) 'frame-parameter 'frame-property) @@ -216,7 +216,7 @@ Otherwise return the normal value." (viper-frame-value viper-emacs-state-cursor-color)) (viper-frame-value viper-vi-state-cursor-color)))) -(defsubst viper-get-saved-cursor-color-in-emacs-mode () +(defun viper-get-saved-cursor-color-in-emacs-mode () (or (funcall (if (featurep 'emacs) 'frame-parameter 'frame-property) @@ -939,10 +939,10 @@ Otherwise return the normal value." event)) ;; Uses different timeouts for ESC-sequences and others -(defsubst viper-fast-keysequence-p () +(defun viper-fast-keysequence-p () (not (viper-sit-for-short (if (viper-ESC-event-p last-input-event) - viper-ESC-keyseq-timeout + (viper-ESC-keyseq-timeout) viper-fast-keyseq-timeout) t))) |