[Bug: 21.4.19] balloon help niggles on Windows

Adrian Aichner adrian at xemacs.org
Fri Aug 25 17:58:02 EDT 2006


"Robert Pluim" <rpluim at gmail.com> writes:

> 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))))

Works for me!

Adrian

>
>  (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 at 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...
>

-- 
Adrian Aichner
 mailto:adrian at xemacs.org
 http://www.xemacs.org/




More information about the XEmacs-Beta mailing list