aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJim Blandy1993-02-22 14:42:38 +0000
committerJim Blandy1993-02-22 14:42:38 +0000
commit074577b8ff2c961718f2a0839a75542553762368 (patch)
tree0bb13dd7632b7a5dcd06bd786e10f2d275b1fc9c /src
parent7b8f3b2953f848e6b214414767b64ed42fdeafc8 (diff)
downloademacs-074577b8ff2c961718f2a0839a75542553762368.tar.gz
emacs-074577b8ff2c961718f2a0839a75542553762368.zip
* 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.
Diffstat (limited to 'src')
-rw-r--r--src/frame.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/frame.c b/src/frame.c
index 4515e0d8c91..a6106c045d7 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -87,6 +87,8 @@ Lisp_Object Qx;
87 87
88extern Lisp_Object Vminibuffer_list; 88extern Lisp_Object Vminibuffer_list;
89extern Lisp_Object get_minibuffer (); 89extern Lisp_Object get_minibuffer ();
90
91extern Lisp_Object Vlast_event_frame;
90 92
91DEFUN ("framep", Fframep, Sframep, 1, 1, 0, 93DEFUN ("framep", Fframep, Sframep, 1, 1, 0,
92 "Return non-nil if OBJECT is a frame.\n\ 94 "Return non-nil if OBJECT is a frame.\n\
@@ -390,6 +392,14 @@ Changing the selected frame can change focus redirections. See\n\
390#endif 392#endif
391 choose_minibuf_frame (); 393 choose_minibuf_frame ();
392 394
395 /* We want to make sure that the next event generates a frame-switch
396 event to the appropriate frame. This seems kludgey to me, but
397 before you take it out, make sure that evaluating something like
398 (select-window (frame-root-window (new-frame))) doesn't end up
399 with your typing being interpreted in the new frame instead of
400 the one you're actually typing in. */
401 Vlast_event_frame = Qnil;
402
393 return frame; 403 return frame;
394} 404}
395 405
@@ -602,7 +612,7 @@ A frame may not be deleted if its minibuffer is used by other frames.")
602 } 612 }
603 613
604 if (! FRAME_LIVE_P (f)) 614 if (! FRAME_LIVE_P (f))
605 return; 615 return Qnil;
606 616
607 /* Are there any other frames besides this one? */ 617 /* Are there any other frames besides this one? */
608 if (f == selected_frame && EQ (next_frame (frame, Qt), frame)) 618 if (f == selected_frame && EQ (next_frame (frame, Qt), frame))