summaryrefslogtreecommitdiff
path: root/lisp/emulation/viper-util.el
diff options
context:
space:
mode:
authorMichael Kifer <kifer@cs.stonybrook.edu>2006-02-19 03:16:45 +0000
committerMichael Kifer <kifer@cs.stonybrook.edu>2006-02-19 03:16:45 +0000
commitb6178721d861731195f48fd80fc12214683eb8c6 (patch)
tree2bc6b0ee53bc59ab56550ca19c337b380d21f289 /lisp/emulation/viper-util.el
parent803c30445df398079c245c837354c67528afd605 (diff)
downloademacs-b6178721d861731195f48fd80fc12214683eb8c6.tar.gz
2006-02-19 Michael Kifer <kifer@cs.stonybrook.edu>
* viper-cmd.el (viper-insert-state-post-command-sentinel, viper-change-state-to-vi, viper-change-state-to-emacs): made aware of cursor coloring in the emacs state. (viper-special-read-and-insert-char): use read-char-exclusive. (viper-minibuffer-trim-tail): workaround for fields in minibuffer. * viper-init.el (viper-emacs-state-cursor-color): new variable. * viper-util.el (viper-save-cursor-color, viper-get-saved-cursor-color-in-replace-mode, viper-get-saved-cursor-color-in-insert-mode, viper-restore-cursor-color): make aware of the cursor color in emacs state. (viper-get-saved-cursor-color-in-emacs-mode): new function. * ediff-diff.el (ediff-ignore-case, ediff-ignore-case-option, ediff-ignore-case-option3, ediff-actual-diff-options, ediff-actual-diff3-options): new variables to control case sensitivity. (ediff-make-diff2-buffer, ediff-setup-fine-diff-regions, ediff-setup-diff-regions3): made aware of case-sensitivity. (ediff-toggle-ignore-case): new function. (ediff-extract-diffs, ediff-extract-diffs3): preserve point in buffers. * ediff-help.el (ediff-long-help-message-narrow2, ediff-long-help-message-compare2, ediff-long-help-message-compare3, ediff-long-help-message-word-mode): add ignore-case command. (ediff-help-for-quick-help): add ignore-case command. * ediff-merg.el: move provide to the end. * ediff-ptch.el: move provide to the end. * ediff-wind.el: move provide to the end. * ediff-mult.el: move provide to the end. (ediff-set-meta-overlay): enable follow-link. * ediff.el: move provide to the end. Break recursive load cycle in eval-when-compile. (ediff-patch-buffer): better heuristics. * ediff-util.el: move provide to the end. Break recursive load cycle in eval-when-compile. (ediff-setup-keymap): add binding for #c. Replaced some defsubsts with defuns. (ediff-submit-report): pass the values of ediff-diff3-program, ediff-diff3-options.
Diffstat (limited to 'lisp/emulation/viper-util.el')
-rw-r--r--lisp/emulation/viper-util.el31
1 files changed, 24 insertions, 7 deletions
diff --git a/lisp/emulation/viper-util.el b/lisp/emulation/viper-util.el
index 8f79c0dab4a..c7fe792b5f2 100644
--- a/lisp/emulation/viper-util.el
+++ b/lisp/emulation/viper-util.el
@@ -175,9 +175,12 @@
(selected-frame)
(list
(cons
- (if (eq before-which-mode 'before-replace-mode)
- 'viper-saved-cursor-color-in-replace-mode
- 'viper-saved-cursor-color-in-insert-mode)
+ (cond ((eq before-which-mode 'before-replace-mode)
+ 'viper-saved-cursor-color-in-replace-mode)
+ ((eq before-which-mode 'before-emacs-mode)
+ 'viper-saved-cursor-color-in-emacs-mode)
+ (t
+ 'viper-saved-cursor-color-in-insert-mode))
color)))
))))
@@ -188,7 +191,9 @@
(if viper-emacs-p 'frame-parameter 'frame-property)
(selected-frame)
'viper-saved-cursor-color-in-replace-mode)
- viper-vi-state-cursor-color))
+ (if (eq viper-current-state 'emacs-mode)
+ viper-emacs-state-cursor-color
+ viper-vi-state-cursor-color)))
(defsubst viper-get-saved-cursor-color-in-insert-mode ()
(or
@@ -196,15 +201,27 @@
(if viper-emacs-p 'frame-parameter 'frame-property)
(selected-frame)
'viper-saved-cursor-color-in-insert-mode)
+ (if (eq viper-current-state 'emacs-mode)
+ viper-emacs-state-cursor-color
+ viper-vi-state-cursor-color)))
+
+(defsubst viper-get-saved-cursor-color-in-emacs-mode ()
+ (or
+ (funcall
+ (if viper-emacs-p 'frame-parameter 'frame-property)
+ (selected-frame)
+ 'viper-saved-cursor-color-in-emacs-mode)
viper-vi-state-cursor-color))
;; restore cursor color from replace overlay
(defun viper-restore-cursor-color(after-which-mode)
(if (viper-overlay-p viper-replace-overlay)
(viper-change-cursor-color
- (if (eq after-which-mode 'after-replace-mode)
- (viper-get-saved-cursor-color-in-replace-mode)
- (viper-get-saved-cursor-color-in-insert-mode))
+ (cond ((eq after-which-mode 'after-replace-mode)
+ (viper-get-saved-cursor-color-in-replace-mode))
+ ((eq after-which-mode 'after-emacs-mode)
+ (viper-get-saved-cursor-color-in-emacs-mode))
+ (t (viper-get-saved-cursor-color-in-insert-mode)))
)))