]> code.delx.au - gnu-emacs/blobdiff - lisp/vcursor.el
Merge from emacs-24; up to 2012-12-22T02:59:08Z!cyd@gnu.org
[gnu-emacs] / lisp / vcursor.el
index d370c6f5ff16c628f404416710451481ba1ca778..b6ea3383becebc642d90aae8433a1eeb66a45dbb 100644 (file)
@@ -1,7 +1,7 @@
 ;;; vcursor.el --- manipulate an alternative ("virtual") cursor
 
-;; Copyright (C) 1994, 1996, 1998, 2001, 2002, 2003,
-;;   2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1996, 1998, 2001-2013 Free Software Foundation,
+;; Inc.
 
 ;; Author:   Peter Stephenson <pws@ibmth.df.unipi.it>
 ;; Maintainer: FSF
 ;; automatically for a PC if Oemacs is detected.  This set uses separate
 ;; control, shift and meta keys with function keys 1 to 10.  In
 ;; particular, movement keys are concentrated on f5 to f8 with (in
-;; increasing order of distance travelled) C-, M- and S- as prefixes.
+;; increasing order of distance traveled) C-, M- and S- as prefixes.
 ;; See the actual bindings below (search for C-f1).  This is because the
 ;; C-S- prefix is represented by weird key sequences and the set is
 ;; incomplete; if you don't mind that, some hints are given in comments
 (defgroup vcursor nil
   "Manipulate an alternative (\"virtual\") cursor."
   :prefix "vcursor-"
-  :group 'editing)
+  :group 'convenience)
 
 (defface vcursor
   '((((class color)) (:foreground "blue" :background "cyan" :underline t))
@@ -657,12 +657,13 @@ another window.  With LEAVE-W, use the current `vcursor-window'."
       (or window-system
          (display-color-p)
          (overlay-put vcursor-overlay 'before-string vcursor-string))
-      (overlay-put vcursor-overlay 'face 'vcursor))
+      (overlay-put vcursor-overlay 'face 'vcursor)
+      ;; 200 is purely an arbitrary "high" number.  See bug#9663.
+      (overlay-put vcursor-overlay 'priority 200))
     (or leave-w (vcursor-find-window nil t))
     ;; vcursor-window now contains the right buffer
     (or (pos-visible-in-window-p pt vcursor-window)
-       (set-window-point vcursor-window pt)))
-  )
+       (set-window-point vcursor-window pt))))
 
 (defun vcursor-insert (text)
   "Insert TEXT, respecting `vcursor-interpret-input'."
@@ -814,6 +815,8 @@ out how much to copy."
 
 (define-minor-mode vcursor-use-vcursor-map
   "Toggle the state of the vcursor key map.
+With a prefix argument ARG, enable it if ARG is positive, and disable
+it otherwise.  If called from Lisp, enable it if ARG is omitted or nil.
 When on, the keys defined in it are mapped directly on top of the main
 keymap, allowing you to move the vcursor with ordinary motion keys.
 An indication \"!VC\" appears in the mode list.  The effect is
@@ -879,6 +882,8 @@ ALL-FRAMES is also used to decide whether to split the window."
        (vcursor-disable -1))))
   )
 
+(declare-function compare-windows-skip-whitespace "compare-w" (start))
+
 ;; vcursor-compare-windows is copied from compare-w.el with only
 ;; minor modifications; these are too bound up with the function
 ;; to make it really useful to call compare-windows itself.
@@ -1144,5 +1149,4 @@ line is treated like ordinary characters."
 
 (provide 'vcursor)
 
-;; arch-tag: cdfe1cdc-2c46-4046-88e4-ed57d20f7aca
 ;;; vcursor.el ends here