changeset 102871:c1df06373080

* tooltip.el (tooltip-show-help-non-mode): Don't save the last message if it was also a help message (Bug#2895).
author Chong Yidong <cyd@stupidchicken.com>
date Mon, 06 Apr 2009 23:52:41 +0000
parents 40bfde9cb004
children bd89d8afd5eb
files lisp/ChangeLog lisp/tooltip.el
diffstat 2 files changed, 14 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Mon Apr 06 22:04:07 2009 +0000
+++ b/lisp/ChangeLog	Mon Apr 06 23:52:41 2009 +0000
@@ -1,3 +1,8 @@
+2009-04-06  Chong Yidong  <cyd@stupidchicken.com>
+
+	* tooltip.el (tooltip-show-help-non-mode): Don't save the last
+	message if it was also a help message (Bug#2895).
+
 2009-04-06  Roland Winkler  <Roland.Winkler@physik.uni-erlangen.de>
 
 	* textmodes/bibtex.el (bibtex-format-entry)
--- a/lisp/tooltip.el	Mon Apr 06 22:04:07 2009 +0000
+++ b/lisp/tooltip.el	Mon Apr 06 23:52:41 2009 +0000
@@ -319,7 +319,9 @@
 ;;; Tooltip help.
 
 (defvar tooltip-help-message nil
-  "The last help message received via `tooltip-show-help'.")
+  "The last help message received via `show-help-function'.
+This is used by `tooltip-show-help' and
+`tooltip-show-help-non-mode'.")
 
 (defvar tooltip-previous-message nil
   "The previous content of the echo area.")
@@ -327,16 +329,17 @@
 (defun tooltip-show-help-non-mode (help)
   "Function installed as `show-help-function' when tooltip is off."
   (when (and (not (window-minibuffer-p)) ;Don't overwrite minibuffer contents.
-             ;; Don't know how to reproduce it in Elisp:
-             ;; Don't overwrite a keystroke echo.
-             ;; (NILP (echo_message_buffer) || ok_to_overwrite_keystroke_echo)
-             (not cursor-in-echo-area)) ;Don't overwrite a prompt.
+             (not cursor-in-echo-area))  ;Don't overwrite a prompt.
     (cond
      ((stringp help)
       (setq help (replace-regexp-in-string "\n" ", " help))
       (unless (or tooltip-previous-message
-		  (string-equal help (current-message)))
+		  (string-equal help (current-message))
+		  (and (stringp tooltip-help-message)
+		       (string-equal tooltip-help-message
+				     (current-message))))
         (setq tooltip-previous-message (current-message)))
+      (setq tooltip-help-message help)
       (let ((message-truncate-lines t)
             (message-log-max nil))
         (message "%s" help)))