summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2009-04-28 02:16:49 +0000
committerChong Yidong <cyd@stupidchicken.com>2009-04-28 02:16:49 +0000
commit68a4b77d156889d6e924c6af20365d26882b5343 (patch)
tree642ea21c92dbed350aac489115450b6c9ca92159
parent7048562d01cc38bed3e2bcae52eeb0afe749ab0e (diff)
downloademacs-68a4b77d156889d6e924c6af20365d26882b5343.tar.gz
* tooltip.el (tooltip-show-help): Fall back on
tooltip-show-help-non-mode for text-only displays.
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/tooltip.el36
2 files changed, 25 insertions, 16 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index a428a13de4a..7bfbe806820 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -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'.
diff --git a/lisp/tooltip.el b/lisp/tooltip.el
index 918c955dfaf..6c34e950268 100644
--- a/lisp/tooltip.el
+++ b/lisp/tooltip.el
@@ -327,7 +327,8 @@ This is used by `tooltip-show-help' and
"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 @@ This is used by `tooltip-show-help' and
(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.