]> code.delx.au - gnu-emacs/blobdiff - lisp/tooltip.el
Added checks that distinguish between cygwin and windows in some
[gnu-emacs] / lisp / tooltip.el
index 7bdc5320626c2924d7b9f91bbbd014886bdd3511..7fd5533639d0c681b375d9007fbcdc267a46c6c5 100644 (file)
@@ -77,7 +77,7 @@ Do so after `tooltip-short-delay'."
 
 
 (defcustom tooltip-x-offset nil
-  "Specify an X offset, in pixels, for the display of tooltips.
+  "X offset, in pixels, for the display of tooltips.
 The offset is relative to the position of the mouse.  It must
 be chosen so that the tooltip window doesn't contain the mouse
 when it pops up.  If the value is nil, the default offset is 5
@@ -92,7 +92,7 @@ the value of `tooltip-x-offset' is ignored."
 
 
 (defcustom tooltip-y-offset nil
-  "Specify a Y offset, in pixels, for the display of tooltips.
+  "Y offset, in pixels, for the display of tooltips.
 The offset is relative to the position of the mouse.  It must
 be chosen so that the tooltip window doesn't contain the mouse
 when it pops up.  If the value is nil, the default offset is -10
@@ -299,16 +299,21 @@ With ARG, turn tooltip mode on if and only if ARG is positive."
          (tooltip-activate-mouse-motions nil))
        (setq buffers (cdr buffers))))))
 
+(defvar tooltip-mouse-motions-active nil
+  "Locally t in a buffer if tooltip processing of mouse motion is enabled.")
 
 (defun tooltip-activate-mouse-motions (activatep)
   "Activate/deactivate mouse motion events for the current buffer.
 ACTIVATEP non-nil means activate mouse motion events."
   (if activatep
       (progn
+       (make-local-variable 'tooltip-mouse-motions-active)
+       (setq tooltip-mouse-motions-active t)
        (make-local-variable 'track-mouse)
        (setq track-mouse t))
-    (kill-local-variable 'track-mouse)))
-
+    (when tooltip-mouse-motions-active
+      (kill-local-variable 'tooltip-mouse-motions-active)
+      (kill-local-variable 'track-mouse))))
 
 (defun tooltip-mouse-motion (event)
   "Command handler for mouse movement events in `global-map'."