bytecomp.el fix for bug#8647
[bpt/emacs.git] / lisp / avoid.el
index 7969645..0389271 100644 (file)
@@ -1,7 +1,6 @@
 ;;; avoid.el --- make mouse pointer stay out of the way of editing
 
-;; Copyright (C) 1993, 1994, 2000, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2000-2011 Free Software Foundation, Inc.
 
 ;; Author: Boris Goldowsky <boris@gnu.org>
 ;; Keywords: mouse
@@ -77,7 +76,7 @@
 
 ;;;###autoload
 (defcustom mouse-avoidance-mode nil
-  "Activate mouse avoidance mode.
+  "Activate Mouse Avoidance mode.
 See function `mouse-avoidance-mode' for possible values.
 Setting this variable directly does not take effect;
 use either \\[customize] or the function `mouse-avoidance-mode'."
@@ -86,22 +85,21 @@ use either \\[customize] or the function `mouse-avoidance-mode'."
         (mouse-avoidance-mode (or value 'none)))
   :initialize 'custom-initialize-default
   :type '(choice (const :tag "none" nil) (const banish) (const jump)
-                (const animate) (const exile) (const proteus)
-                )
+                (const animate) (const exile) (const proteus))
   :group 'avoid
   :require 'avoid
   :version "20.3")
 
 
 (defcustom mouse-avoidance-nudge-dist 15
-  "*Average distance that mouse will be moved when approached by cursor.
-Only applies in Mouse-Avoidance mode `jump' and its derivatives.
+  "Average distance that mouse will be moved when approached by cursor.
+Only applies in Mouse Avoidance mode `jump' and its derivatives.
 For best results make this larger than `mouse-avoidance-threshold'."
   :type 'integer
   :group 'avoid)
 
 (defcustom mouse-avoidance-nudge-var 10
-  "*Variability of `mouse-avoidance-nudge-dist' (which see)."
+  "Variability of `mouse-avoidance-nudge-dist' (which see)."
   :type 'integer
   :group 'avoid)
 
@@ -111,9 +109,9 @@ For best results make this larger than `mouse-avoidance-threshold'."
   :group 'avoid)
 
 (defcustom mouse-avoidance-threshold 5
-  "*Mouse-pointer's flight distance.
+  "Mouse-pointer's flight distance.
 If the cursor gets closer than this, the mouse pointer will move away.
-Only applies in mouse-avoidance-modes `animate' and `jump'."
+Only applies in Mouse Avoidance modes `animate' and `jump'."
   :type 'integer
   :group 'avoid)
 
@@ -184,7 +182,7 @@ Acceptable distance is defined by `mouse-avoidance-threshold'."
                mouse-avoidance-threshold))))))
 
 (defun mouse-avoidance-banish-destination ()
-  "The position to which Mouse-Avoidance mode `banish' moves the mouse.
+  "The position to which Mouse Avoidance mode `banish' moves the mouse.
 You can redefine this if you want the mouse banished to a different corner."
   (let* ((pos (window-edges)))
     (cons (- (nth 2 pos) 2)
@@ -278,7 +276,9 @@ redefine this function to suit your own tastes."
 
 (defun mouse-avoidance-ignore-p ()
   (let ((mp (mouse-position)))
-    (or executing-kbd-macro           ; don't check inside macro
+    (or (not (frame-pointer-visible-p)) ; The pointer is hidden
+        (not cursor-type)               ; There's no cursor
+        executing-kbd-macro           ; don't check inside macro
        (null (cadr mp))               ; don't move unless in an Emacs frame
        (not (eq (car mp) (selected-frame)))
        ;; Don't do anything if last event was a mouse event.
@@ -332,7 +332,7 @@ redefine this function to suit your own tastes."
 
 ;;;###autoload
 (defun mouse-avoidance-mode (&optional mode)
-  "Set cursor avoidance mode to MODE.
+  "Set Mouse Avoidance mode to MODE.
 MODE should be one of the symbols `banish', `exile', `jump', `animate',
 `cat-and-mouse', `proteus', or `none'.
 
@@ -352,7 +352,7 @@ Effects of the different modes:
 
 Whenever the mouse is moved, the frame is also raised.
 
-\(see `mouse-avoidance-threshold' for definition of \"too close\",
+\(See `mouse-avoidance-threshold' for definition of \"too close\",
 and `mouse-avoidance-nudge-dist' and `mouse-avoidance-nudge-var' for
 definition of \"random distance\".)"
   (interactive
@@ -408,5 +408,4 @@ definition of \"random distance\".)"
 (if mouse-avoidance-mode
     (mouse-avoidance-mode mouse-avoidance-mode))
 
-;; arch-tag: 64ad4ef8-a870-4183-8d96-3aa93b7a6800
 ;;; avoid.el ends here