diff options
| author | Jim Blandy <jimb@redhat.com> | 1993-02-22 14:42:38 +0000 |
|---|---|---|
| committer | Jim Blandy <jimb@redhat.com> | 1993-02-22 14:42:38 +0000 |
| commit | 074577b8ff2c961718f2a0839a75542553762368 (patch) | |
| tree | 0bb13dd7632b7a5dcd06bd786e10f2d275b1fc9c | |
| parent | 7b8f3b2953f848e6b214414767b64ed42fdeafc8 (diff) | |
| download | emacs-074577b8ff2c961718f2a0839a75542553762368.tar.gz | |
* 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.
| -rw-r--r-- | src/frame.c | 12 |
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; 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 @@ Changing the selected frame can change focus redirections. See\n\ #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 @@ A frame may not be deleted if its minibuffer is used by other frames.") } 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)) |
