]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fx_hide_tip): Simplified. emacs-pretest-21.0.93
authorGerd Moellmann <gerd@gnu.org>
Tue, 12 Dec 2000 11:38:41 +0000 (11:38 +0000)
committerGerd Moellmann <gerd@gnu.org>
Tue, 12 Dec 2000 11:38:41 +0000 (11:38 +0000)
src/ChangeLog
src/xfns.c

index 0f8c6810431809ad5781c2520b28a0ab1383201e..e500e14ffe2880893df369f52bb02e1c1fb64c9b 100644 (file)
@@ -1,5 +1,7 @@
 2000-12-12  Gerd Moellmann  <gerd@gnu.org>
 
+       * xfns.c (Fx_hide_tip): Simplified.
+
        * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use
        GC_MAKE_GCPROS_NOOPS instead of `1'.
 
index 930269c738f994327bf20f258124cf80eb402262..bd83ce671c9b899e505845a86bf3595061b37972 100644 (file)
@@ -10751,39 +10751,29 @@ Value is t is tooltip was open, nil otherwise.")
   ()
 {
   int count;
-  Lisp_Object deleted;
+  Lisp_Object deleted, frame, timer;
+  struct gcpro gcpro1, gcpro2;
 
   /* Return quickly if nothing to do.  */
-  if (NILP (tip_timer) && !FRAMEP (tip_frame))
+  if (NILP (tip_timer) && NILP (tip_frame))
     return Qnil;
   
+  frame = tip_frame;
+  timer = tip_timer;
+  GCPRO2 (frame, timer);
+  tip_frame = tip_timer = deleted = Qnil;
+  
   count = BINDING_STACK_SIZE ();
-  deleted = Qnil;
   specbind (Qinhibit_redisplay, Qt);
   specbind (Qinhibit_quit, Qt);
   
-  if (!NILP (tip_timer))
-    {
-      Lisp_Object tem;
-      struct gcpro gcpro1;
-      tem = tip_timer;
-      GCPRO1 (tem);
-      tip_timer = Qnil;
-      call1 (intern ("cancel-timer"), tem);
-      UNGCPRO;
-    }
+  if (!NILP (timer))
+    call1 (intern ("cancel-timer"), timer);
 
-  if (FRAMEP (tip_frame))
+  if (FRAMEP (frame))
     {
-      Lisp_Object frame;
-      struct gcpro gcpro1;
-
-      frame = tip_frame;
-      GCPRO1 (frame);
-      tip_frame = Qnil;
       Fdelete_frame (frame, Qnil);
       deleted = Qt;
-      UNGCPRO;
 
 #ifdef USE_LUCID
       /* Bloodcurdling hack alert: The Lucid menu bar widget's
@@ -10805,6 +10795,7 @@ Value is t is tooltip was open, nil otherwise.")
 #endif /* USE_LUCID */
     }
 
+  UNGCPRO;
   return unbind_to (count, deleted);
 }