Subject: Re: bug#24899: 25.1; x-hide-tip always returns nil with USE_GTK

From: martin rudalics <[email-masked]>
Date: Tue, 08 Nov 2016 08:23:08 +0100

> Calling `x-hide-tip` always returns nil (it is documented to
 > return t when the tooltip is active). I noticed this after
 > recently compiling with gtk3. I was using `x-hide-tip` in
 > a toggling function that stopped toggling. As an example
 > of what currently doesn't work:
 >
 > (defun toggle-tip ()
 >     (interactive)
 >     (or (x-hide-tip)
 >       (pos-tip-show "hi")))
 >
 >
 > In GNU Emacs 25.1.1 (x86_64-pc-linux-gnu, GTK+ Version 3.18.9)
 > of 2016-11-07 built on nverno-M51AC
 > Windowing system distributor 'The X.Org Foundation', version 11.0.11803000
 > System Description: Ubuntu 16.04.1 LTS
 >
 > Configured using:
 > 'configure --with-x-toolkit=gtk3 --with-modules --with-xwidgets'

Thanks for the report.  I think that before investigating this further
we need another recipe.  Yours is based on ‘pos-tip-show’ which is not
part of Emacs.  Does ‘pos-tip-show’ use GTK+ tooltips or the native
Emacs ones - what is your value of ‘x-gtk-use-system-tooltips’?

Then we would have to decide how to retrieve a non-nil return value for
‘x-hide-tip’ in the first place.  Here the tooltip disappears
immediately when I type anything, so the return value is always nil by
force, presumably.  We'd probably need a timer to test your function.

Finally, we would have to check the results for the function you get
this way for both ‘x-gtk-use-system-tooltips’ nil/t settings and for at
least one other toolkit.

Can you please try doing all that?

Thanks again, martin