Subject: bug#27647: 26.0.50; Line numbers implemented natively disappear momentarily when frame out of focus

From: martin rudalics <[email-masked]>
Date: Wed, 15 Nov 2017 11:05:13 +0100

> (let ((tooltip-hide-delay 1000)
 >        (frame (make-frame)))
 >    (select-frame frame)
 >    (tooltip-show ".....")
 >    (delete-frame frame))
 >
 > ... but try for yourself.  Unless you have a better idea I'll make
 > x_create_tip_frame call make_frame_without_minibuffer.

The below seems to fix it and should be used anyway.  Still someone might want
to select a tooltip frame ...

martin

--- a/src/frame.c
+++ b/src/frame.c
@@ -1916,6 +1916,7 @@ of them (the selected terminal frame) is actually displayed.
  	 See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=15025.  */
        FOR_EACH_FRAME (tail, frame1)
  	if (!EQ (frame, frame1)
+	    && NILP (Fframe_parameter (frame1, Qtooltip))
  	    && (FRAME_TERMINAL (XFRAME (frame))
  		== FRAME_TERMINAL (XFRAME (frame1)))
  	    && FRAME_VISIBLE_P (XFRAME (frame1)))
@@ -1926,7 +1927,9 @@ of them (the selected terminal frame) is actually displayed.
  	{
  	  FOR_EACH_FRAME (tail, frame1)
  	    {
-	      if (! EQ (frame, frame1) && FRAME_LIVE_P (XFRAME (frame1)))
+	      if (!EQ (frame, frame1)
+		  && FRAME_LIVE_P (XFRAME (frame1))
+		  && NILP (Fframe_parameter (frame1, Qtooltip)))
  		{
  		  /* Do not change a text terminal's top-frame.  */
  		  struct frame *f1 = XFRAME (frame1);