From 68a4b77d156889d6e924c6af20365d26882b5343 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Tue, 28 Apr 2009 02:16:49 +0000 Subject: [PATCH] * tooltip.el (tooltip-show-help): Fall back on tooltip-show-help-non-mode for text-only displays. --- lisp/ChangeLog | 5 +++++ lisp/tooltip.el | 36 ++++++++++++++++++++---------------- 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 + + * tooltip.el (tooltip-show-help): Fall back on + tooltip-show-help-non-mode for text-only displays. + 2009-04-27 Jay Belanger * 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. -- 2.39.2