changeset 103086:c3181c5efa5a

* tooltip.el (tooltip-show-help): Fall back on tooltip-show-help-non-mode for text-only displays.
author Chong Yidong <cyd@stupidchicken.com>
date Tue, 28 Apr 2009 02:16:49 +0000
parents 6487e2f156ca
children aeca2cf7cbdb
files lisp/ChangeLog lisp/tooltip.el
diffstat 2 files changed, 25 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Mon Apr 27 23:12:20 2009 +0000
+++ b/lisp/ChangeLog	Tue Apr 28 02:16:49 2009 +0000
@@ -1,3 +1,8 @@
+2009-04-28  Chong Yidong  <cyd@stupidchicken.com>
+
+	* tooltip.el (tooltip-show-help): Fall back on
+	tooltip-show-help-non-mode for text-only displays.
+
 2009-04-27  Jay Belanger  <jay.p.belanger@gmail.com>
 
 	* calc/calc.el (calc-mode): Replace `copy-list' with `copy-sequence'.
--- a/lisp/tooltip.el	Mon Apr 27 23:12:20 2009 +0000
+++ b/lisp/tooltip.el	Tue Apr 28 02:16:49 2009 +0000
@@ -327,7 +327,8 @@
   "The previous content of the echo area.")
 
 (defun tooltip-show-help-non-mode (help)
-  "Function installed as `show-help-function' when tooltip is off."
+  "Function installed as `show-help-function' when Tooltip mode is off.
+It is also called if Tooltip mode is on, for text-only displays."
   (when (and (not (window-minibuffer-p)) ;Don't overwrite minibuffer contents.
              (not cursor-in-echo-area))  ;Don't overwrite a prompt.
     (cond
@@ -353,21 +354,24 @@
 (defun tooltip-show-help (msg)
   "Function installed as `show-help-function'.
 MSG is either a help string to display, or nil to cancel the display."
-  (let ((previous-help tooltip-help-message))
-    (setq tooltip-help-message msg)
-    (cond ((null msg)
-	   ;; Cancel display.  This also cancels a delayed tip, if
-	   ;; there is one.
-	   (tooltip-hide))
-	  ((equal previous-help msg)
-	   ;; Same help as before (but possibly the mouse has moved).
-	   ;; Keep what we have.
-	   )
-	  (t
-	   ;; A different help.  Remove a previous tooltip, and
-	   ;; display a new one, with some delay.
-	   (tooltip-hide)
-	   (tooltip-start-delayed-tip)))))
+  (if (display-graphic-p)
+      (let ((previous-help tooltip-help-message))
+	(setq tooltip-help-message msg)
+	(cond ((null msg)
+	       ;; Cancel display.  This also cancels a delayed tip, if
+	       ;; there is one.
+	       (tooltip-hide))
+	      ((equal previous-help msg)
+	       ;; Same help as before (but possibly the mouse has moved).
+	       ;; Keep what we have.
+	       )
+	      (t
+	       ;; A different help.  Remove a previous tooltip, and
+	       ;; display a new one, with some delay.
+	       (tooltip-hide)
+	       (tooltip-start-delayed-tip))))
+    ;; On text-only displays, try `tooltip-show-help-non-mode'.
+    (tooltip-show-help-non-mode msg)))
 
 (defun tooltip-help-tips (event)
   "Hook function to display a help tooltip.