Subject: 23.0.91; Tooltip persists inappropriately with tooltip-mode off
From: Bob Rogers <[email-masked]>
To: [email-masked]
Date: Sun, 15 Mar 2009 15:52:01 -0400 (EDT)

According to the tooltip-mode docstring:

	When Tooltip mode is disabled, Emacs displays one line of the
	help text in the echo area, and does not make a pop-up window.

Under certain circumstances, the full tooltip is redisplayed in the
message area after moving the mouse to a spot where no tooltip applies,
when it should be erased.

   To reproduce:

   1.  "emacs -Q"

   2.  "M-x tooltip-mode RET".  This is on by default, so it should
display "Tooltip mode disabled" in the message area.

   3.  Invoke "C-b" (or whatever) in order to clear the message area;
the bug manifests only if nothing is displayed there.

   4.  Move the mouse into the "-----" part of the right edge of the
mode line.  The message area will show the tooltip correctly, combined
into a single line and (if the frame is narrow enough) truncated at the
right.

   5.  Now move the mouse back into either the *scratch* buffer or the
message area.  The tooltip will still be displayed -- incorrectly, as it
no longer applies.  Furthermore, it won't be truncated; if the frame is
sufficiently narrow, the message area will grow in height to accomodate
the full message.

   6.  Moving the mouse out of the frame restores the message area.

   The attached patch to tooltip-show-help-non-mode appears to fix the
problem, though I suspect it is not TRT.  Shouldn't the third "cond"
clause in this function take care of this case?

					-- Bob Rogers
					   http://www.rgrjr.com/

------------------------------------------------------------------------
In GNU Emacs 23.0.91.1 (i686-pc-linux-gnu, GTK+ Version 2.12.9)
 of 2009-03-06 on rgr
Windowing system distributor `The X.Org Foundation', version 11.0.10400090
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  diff-auto-refine-mode: t
  shell-dirtrack-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t

Recent input:
C-SPC C-M-b M-w TAB C-SPC C-u C-SPC C-u C-n C-n C-n 
C-n M-f M-f SPC [ x ] C-c C-c C-n C-n C-n C-n C-p M-b 
M-d " " C-c C-c C-b [ y ] C-c C-c C-u C-p C-u C-p C-p 
C-M-f C-M-f C-M-b ( o r SPC C-M-f SPC " " ) C-c C-c 
C-b C-b [ ` <backspace> z ] C-e C-M-b C-M-f C-c C-c 
<help-echo> M-f M-f C-n C-M-f C-M-f C-x C-e <help-echo> 
C-u C-n M-b C-b C-b <backspace> <backspace> <backspace> 
<backspace> C-n C-n C-n C-b <backspace> <backspace> 
<backspace> C-f <backspace> <backspace> n i l C-e C-M-b 
C-M-f C-c C-c C-c C-c <help-echo> M-b <help-echo> C-u 
C-p C-u C-p M-b M-b M-b C-d C-d <backspace> C-e C-M-b 
C-M-f C-c C-c <help-echo> C-f <help-echo> M-b M-b M-b 
C-u C-u C-n C-u C-p C-p C-p C-p M-b M-b M-. <return> 
C-c b C-h f <return> M-, C-x o C-e M-b <return> C-v 
C-p C-p M-v C-s m e s s a g e ( C-r C-e C-f C-u C-SPC 
C-s m e s s a g e SPC ( C-r C-r C-s C-s C-s C-s C-s 
C-e C-f C-u C-SPC C-x C-b C-n C-n SPC C-u C-p C-p C-p 
C-p C-p C-p C-e C-b C-b C-b C-f <backspace> <backspace> 
<backspace> <backspace> C-M-b <M-backspace> <backspace> 
C-e C-M-b C-M-f C-c C-c <help-echo> C-f C-u C-n C-u 
C-n C-n M-b M-d " " C-c C-c <help-echo> C-b <help-echo> 
C-_ C-_ C-_ C-_ C-_ C-_ C-_ C-e C-M-b C-M-f ) C-c C-c 
<help-echo> C-f <help-echo> C-c C-c <help-echo> C-x 
h C-u C-SPC C-u C-SPC C-M-h M-w <help-echo> C-h c C-c 
C-c <help-echo> M-x e m a c - <backspace> s - b u <tab> 
g C-a C-k a p r SPC <return> C-y <return> M-x r e p 
o r <tab> <return>

Recent messages:
Done -- 510 definition lines.
Mark saved where search started [2 times]
tooltip-show-help-non-mode [2 times]
Auto-saving...
Undo! [7 times]
tooltip-show-help-non-mode [2 times]
Auto-saving...done
Mark set [4 times]
C-c C-c runs the command compile-defun
Auto-saving...done

[ATTACHMENT /usr/src/emacs/fix-tooltip-persistence.patch, text/plain]