Subject: bug#29627: 25.3; x-show-tip does not display text when x-gtk-use-tooltips is nil and left/right-margin-width is set

From: martin rudalics <[email-masked]>
Date: Sun, 10 Dec 2017 15:28:55 +0100

> First, I didn't make the window a pseudo-window; it was always a
 > pseudo-window.  The line
 >
 >    w->pseudo_window_p = true;
 >
 > existed in x-show-tip ever since Emacs 21.

Ah, sorry.  I misread both ChangeLog entry and diffs (and was probably
mislead by this change

-       Currently only used for menu bar windows of frames.  */
+       Currently only used for menu bar windows, for tool bar windows,
+       and for tooltips.  */
)

 > I didn't feel comfortable
 > with changing that now, certainly not on the release branch.

Sure so.

 > And you will see that window_box_left does this for pseudo-windows:
 >
 >    if (w->pseudo_window_p)
 >      return FRAME_INTERNAL_BORDER_WIDTH (f);
 >
 > which is just another example of the above-mentioned assumption about
 > pseudo-windows being margin-less.

Right.

 > So from_x remained (almost) zero, unlike in normal windows, and the
 > already displayed text was deleted.
 >
 > For some reason that I cannot identify, and don't really care about,
 > the original recipe did work until Emacs 24.3.  But it could only work
 > by sheer luck, or maybe something else was preventing the window of
 > the tooltip frame to acquire display margins.  I just made this
 > official with my changes, that's all.
 >
 > As for why I forced the tip buffer have zero margins, instead of doing
 > the same with the window in which that buffer is displayed, then:
 >
 >    . why does it matter? the buffer is a temporary buffer generated
 >      specifically for showing the tip text;
 >    . I thought doing that with the window is more complex, what with
 >      all the different ways one can affect a window's parameters
 >
 > Having said all that, if you see problem(s) caused by my change,
 > please describe them; I'm not married to the fix I pushed.

It's OK.  My concern was that turning tooltip windows into
pseudo-windows would have meant a quite substantial change for the
release branch.

Thanks for the explanations, martin