I did
xemacs -q
M-x balloon-help-mode
M-x customize-variable truncate-lines

If I hold the mouse above the "Reset" button (which for some reason is
grey whilst the others are white), I get a balloon-help popup with a
number of problems:

1) The first time it is displayed it is sized for two lines of text,
but contains only 1.  For subsequent redisplays the frame is 1 line
high.

2) The frame is one character too narrow for the text, so I get the
continuation glyph, but the last character is not displayed on the
second line.  Here's a (naive) fix:

diff --git a/balloon-help.el b/balloon-help.el
index 1fa53b4..09504c7 100755
--- a/balloon-help.el
+++ b/balloon-help.el
@@ -466,7 +466,7 @@ (defun balloon-help-resize-help-frame ()
        (and (not done) (setq lines (1+ lines))))
       (setq width (/ longest font-width)
            width (if (> longest (* width font-width)) (1+ width) width))
-      (set-frame-size balloon-help-frame (+ 0 width) lines))))
+      (set-frame-size balloon-help-frame (+ 1 width) lines))))

 (defun balloon-help-compute-help-frame-y-location ()
   (let* ((device-bottom (device-pixel-height

3) I get a very small, unkillable frame that pops up and stays around
forever.  Looking at the balloon-help code, that frame is the "junk
frame", and it was created as

          (make-frame '(minibuffer t
                initially-unmapped t
                override-redirect t    ; get rid of WM decorations
                width 1
                height 1)))

I don't see any explicit make-frame-visible calls for that frame, but
it is used in the plist for the make-frame call for the actual
balloon-help frame:

       (frame (make-frame `(initially-unmapped t
                internal-border-width 0
                ;; try to suppress frame decorations
                override-redirect t
                name ,balloon-help-frame-name
                border-width ,balloon-help-border-width
                border-color ,balloon-help-border-color
                top ,y
                left ,x
                popup ,junk-frame
                minibuffer ,(minibuffer-window junk-frame)
                width 3
                height 1))))

I suspect Windows redisplay is at fault, I'll see if I can track
anything down.

4. The balloon-help frame actually has a title.  I was expecting it to
just be a tooltippy kind of window.  Perhaps it should be a dialog
rather than a window?

5. There appears to be a (transparent!) one pixel gap between the
bottom window border on the balloon-help frame and the text.

I'll get 21.5 compiled here, and see if it behaves any differently,
unless you'd like me to try 21.4 from CVS.

Thanks

Robert

================================================================

System Info to help track down your bug:
---------------------------------------

OS version:

Microsoft Windows XP [Version 5.1.2600]
OS: Windows_NT

XEmacs 21.4.19 "Constant Variable" configured for `i586-pc-win32'.

  Building XEmacs in "e:\\acs\\software\\XEmacsWindowsKit\\xemacs-21.4-2006-01-28\\nt".
  Using compiler "cl -nologo -W3 -O2 -G5 -MD".
  Installing XEmacs in "c:\\XEmacs-built\\XEmacs-21.4.19".
  Package path is "~\\.xemacs;;c:\\XEmacs-built\\site-packages;c:\\XEmacs-built\\xemacs-packages".
  Compiling in support for Microsoft Windows native GUI.
  Compiling in support for XPM images.
  Compiling in support for GIF images.
  Compiling in support for PNG images.
  Compiling in support for TIFF images.
  Compiling in support for JPEG images.
  Compiling in support for toolbars.
  Compiling in support for dialogs.
  Compiling in support for widgets.
  Compiling in support for native sounds.
  Compiling in fast dired implementation.
  Using portable dumper.
  Using system malloc.
  Using DLL version of C runtime library


Load-Path Lisp Shadows:
----------------------
(c:\Documents and Settings\rpluim\.xemacs\whitespace c:\Program
Files\XEmacs\xemacs-packages\lisp\text-modes\whitespace c:\Documents
and Settings\rpluim\.xemacs\gnuserv c:\Program
Files\XEmacs\XEmacs-21.4.19\lisp\gnuserv c:\Documents and
Settings\rpluim\.xemacs\custom c:\Program
Files\XEmacs\XEmacs-21.4.19\lisp\custom c:\Program
Files\XEmacs\xemacs-packages\lisp\build\build-report c:\Program
Files\XEmacs\XEmacs-21.4.19\lisp\build-report)


Installed XEmacs Packages:
-------------------------
(xslt-process ver: 1.12 upstream: 1.2.1)
(xslide ver: 1.09 upstream: 0.2.2)
(xetla ver: 1.01 upstream: steve@eicq.org--2005/xetla--main--1.1--version-0)
(xemacs-devel ver: 1.75 upstream: No-Upstream-Ver)
(xemacs-base ver: 2.08 upstream: No-Upstream-Ver)
(x-symbol ver: 1.1 upstream: 4.5.1)
(w3 ver: 1.33 upstream: 4.0pre47)
(vm ver: 7.22 upstream: 7.17)
(view-process ver: 1.13 upstream: 2.4)
(vc-cc ver: 1.22 upstream: No-Upstream-Ver)
(vc ver: 1.41 upstream: No-Upstream-Ver)
(tramp ver: 1.32 upstream: 2.0.53)
(time ver: 1.14 upstream: 1.17)
(textools ver: 1.15 upstream: No-Upstream-Ver)
(text-modes ver: 1.9 upstream: No-Upstream-Ver)
(texinfo ver: 1.3 upstream: No-Upstream-Ver)
(supercite ver: 1.21 upstream: 3.55x3)
(speedbar ver: 1.28 upstream: 0.14beta4)
(sounds-wav ver: 1.12 upstream: No-Upstream-Ver)
(sh-script ver: 1.21 upstream: 2.0f)
(sgml ver: 1.11 upstream: No-Upstream-Ver)
(semantic ver: 1.2 upstream: 1.4.4)
(sasl ver: 1.16 upstream: 1.14.4)
(ruby-modes ver: 1.02 upstream: 1.6.8)
(rmail ver: 1.14 upstream: No-Upstream-Ver)
(reftex ver: 1.34 upstream: 4.21)
(re-builder ver: 1.05 upstream: 1.20)
(python-modes ver: 1.08 upstream: No-Upstream-Ver)
(psgml-dtds ver: 1.03 upstream: No-Upstream-Ver)
(psgml ver: 1.44 upstream: 1.3.1)
(ps-print ver: 1.11 upstream: 6.5.6)
(prog-modes ver: 2.09 upstream: No-Upstream-Ver)
(pgg ver: 1.06 upstream: 0.1)
(perl-modes ver: 1.09 upstream: No-Upstream-Ver)
(pcomplete ver: 1.04 upstream: 1.1.6)
(pcl-cvs ver: 1.67 upstream: R-2_9_9)
(pc ver: 1.28 upstream: No-Upstream-Ver)
(os-utils ver: 1.38 upstream: No-Upstream-Ver)
(oo-browser ver: 1.04 upstream: 4.08)
(net-utils ver: 1.48 upstream: N/A)
(mmm-mode ver: 1.02 upstream: 0.4.7)
(mailcrypt ver: 2.14 upstream: 3.5.8)
(mail-lib ver: 1.77 upstream: No-Upstream-Ver)
(liece ver: 1.14 upstream: 1.4.9)
(ispell ver: 1.32 upstream: 3.6)
(igrep ver: 1.14 upstream: 2.111)
(ibuffer ver: 1.09 upstream: No-Upstream-Ver)
(hm--html-menus ver: 1.23 upstream: 5.9)
(gnus ver: 1.9 upstream: 5.10.7)
(general-docs ver: 1.04 upstream: No-Upstream-Ver)
(fsf-compat ver: 1.15 upstream: No-Upstream-Ver)
(frame-icon ver: 1.11 upstream: No-Upstream-Ver)
(forms ver: 1.15 upstream: 2.37)
(footnote ver: 1.16 upstream: 0.18x)
(eudc ver: 1.39 upstream: 1.32)
(eterm ver: 1.17 upstream: No-Upstream-Ver)
(ess ver: 1.16 upstream: 5.2.7)
(eshell ver: 1.1 upstream: 2.4.1)
(escreen ver: 1.01 upstream: 1.16)
(emerge ver: 1.11 upstream: No-Upstream-Ver)
(elib ver: 1.11 upstream: 1.0)
(eieio ver: 1.05 upstream: 0.17)
(efs ver: 1.33 upstream: 1.23)
(edit-utils ver: 2.36 upstream: No-Upstream-Ver)
(ediff ver: 1.62 upstream: 2.75)
(edebug ver: 1.21 upstream: No-Upstream-Ver)
(ecrypto ver: 0.2 upstream: 2.0)
(ecb ver: 1.22 upstream: 2.31)
(dired ver: 1.17 upstream: 7.13)
(dictionary ver: 1.16 upstream: 1.8)
(debug ver: 1.18 upstream: No-Upstream-Ver)
(cookie ver: 1.15 upstream: No-Upstream-Ver)
(cc-mode ver: 1.45 upstream: 5.30.10)
(calendar ver: 1.25 upstream: No-Upstream-Ver)
(calc ver: 1.26 upstream: 2.02fX3)
(c-support ver: 1.22 upstream: No-Upstream-Ver)
(build ver: 1.14 upstream: 2.02)
(bbdb ver: 1.29 upstream: 2.34)
(auctex ver: 1.46 upstream: 11.55)
(apel ver: 1.32 upstream: 10.6)
(Sun ver: 1.16 upstream: No-Upstream-Ver)



Features:
--------

(mail-abbrevs xemacsbug shadow cus-edit cus-load wid-edit ibuffer ffap
whitespace-visual-mode savehist func-menu efs-cu desktop cc-mode
cc-fonts cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
regexp-opt setnu c-comment-edit edmacro iswitchb rsz-minibuf mwheel
vc-hooks crypt crypt++ font-lock timer-funcs autorevert mic-paren
timer smtpmail sendmail rfc822 balloon-help font disp-table cus-face
paren blink-paren pending-del saveplace xslt-process-autoloads
xslide-autoloads xetla-autoloads xemacs-devel-autoloads
xemacs-base-autoloads x-symbol-autoloads w3-autoloads vm-autoloads
view-process-autoloads vc-cc-autoloads vc-autoloads tramp-autoloads
time-autoloads textools-autoloads text-modes-autoloads
texinfo-autoloads supercite-autoloads speedbar-autoloads
sounds-wav-autoloads sh-script-autoloads sgml-autoloads
semantic-autoloads sasl-autoloads ruby-modes-autoloads rmail-autoloads
reftex-autoloads re-builder-autoloads python-modes-autoloads
psgml-dtds-autoloads psgml-autoloads ps-print-autoloads
prog-modes-autoloads pgg-autoloads perl-modes-autoloads
pcomplete-autoloads pcl-cvs-autoloads pc-autoloads os-utils-autoloads
oo-browser-autoloads net-utils-autoloads mmm-mode-autoloads
mailcrypt-autoloads mail-lib-autoloads liece-autoloads
ispell-autoloads igrep-autoloads ibuffer-autoloads
hm--html-menus-autoloads gnus-autoloads general-docs-autoloads
fsf-compat-autoloads frame-icon-autoloads forms-autoloads
footnote-autoloads eudc-autoloads eterm-autoloads ess-autoloads
eshell-autoloads escreen-autoloads emerge-autoloads elib-autoloads
eieio-autoloads efs-autoloads edit-utils-autoloads ediff-autoloads
edebug-autoloads ecrypto-autoloads ecb-autoloads dired-autoloads
dictionary-autoloads debug-autoloads cookie-autoloads
cc-mode-autoloads calendar-autoloads calc-autoloads
c-support-autoloads build-autoloads bbdb-autoloads auctex-autoloads
apel-autoloads Sun-autoloads lisp-autoloads loadhist auto-show
fontl-hooks code-cmds gutter-items menubar-items x-menubar dragdrop
mode-motion mouse itimer auto-save lisp-mode easymenu iso8859-1 page
buff-menu lib-complete help-nomule cus-file derived frame text-props
obsolete cus-start custom widget cl-extra mini-cl cl cl-19 packages
backquote very-early-lisp file-coding mswindows-scrollbars mswindows
toolbar native-sound scrollbar network-streams subprocesses
menu-accelerator-support menubar md5 xemacs gutter tiff png gif jpeg
xpm xbm lisp-float-type windows-nt dragdrop-api dialog devices
window-system base64)


Recent keystrokes:
-----------------

ESC x up up up up RET up up RET RET f TAB o TAB n TAB
RET button1 button1up C-x b RET C-s w i d t h C-s C-s
C-s down down down down down down down down down down
down down down down C-e left left left left left left
left left left left left left left left left left left
BS 1 C-x C-s ESC x r e p o TAB r TAB x e TAB RET


Recent messages (most recent first):
-----------------------------------

Loading xemacsbug...done
Loading xemacsbug...
Making completion list...
Wrote c:\Program Files\XEmacs\xemacs-packages\lisp\edit-utils\balloon-help.el
Creating customization buffer...done
Creating customization setup...
Creating customization items...
Creating customization buttons...
Creating customization buffer...
Making completion list...
Making completion list...
Making completion list...
Loading cus-edit...done
Loading customization dependencies...done
Loading customization dependencies...
Loading cus-edit...
Paren mode is sexp
Desktop loaded.
Loading whitespace-visual-mode...done
Loading whitespace-visual-mode...