changeset 1920:ac5e559a819a

* frame.c (Fselect_frame): Set Vlast_event_frame to Qnil after switching frames, to make sure we'll get a switch-frame event. (Vlast_event_frame): Add external declaration for this here. * frame.c (Fdelete_frame): If FRAME is a dead frame, return Qnil, not nothing.
author Jim Blandy <jimb@redhat.com>
date Mon, 22 Feb 1993 14:42:38 +0000
parents 51be204d02a0
children 06ecd9e51ca0
files src/frame.c
diffstat 1 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/frame.c	Mon Feb 22 14:41:57 1993 +0000
+++ b/src/frame.c	Mon Feb 22 14:42:38 1993 +0000
@@ -87,6 +87,8 @@
 
 extern Lisp_Object Vminibuffer_list;
 extern Lisp_Object get_minibuffer ();
+
+extern Lisp_Object Vlast_event_frame;
 
 DEFUN ("framep", Fframep, Sframep, 1, 1, 0,
   "Return non-nil if OBJECT is a frame.\n\
@@ -390,6 +392,14 @@
 #endif
   choose_minibuf_frame ();
 
+  /* We want to make sure that the next event generates a frame-switch
+     event to the appropriate frame.  This seems kludgey to me, but
+     before you take it out, make sure that evaluating something like
+     (select-window (frame-root-window (new-frame))) doesn't end up
+     with your typing being interpreted in the new frame instead of
+     the one you're actually typing in.  */
+  Vlast_event_frame = Qnil;
+
   return frame;
 }
 
@@ -602,7 +612,7 @@
     }
 
   if (! FRAME_LIVE_P (f))
-    return;
+    return Qnil;
 
   /* Are there any other frames besides this one?  */
   if (f == selected_frame && EQ (next_frame (frame, Qt), frame))