diff options
| author | Jim Blandy | 1993-02-22 14:42:38 +0000 |
|---|---|---|
| committer | Jim Blandy | 1993-02-22 14:42:38 +0000 |
| commit | 074577b8ff2c961718f2a0839a75542553762368 (patch) | |
| tree | 0bb13dd7632b7a5dcd06bd786e10f2d275b1fc9c /src | |
| parent | 7b8f3b2953f848e6b214414767b64ed42fdeafc8 (diff) | |
| download | emacs-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.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; | |||
| 87 | 87 | ||
| 88 | extern Lisp_Object Vminibuffer_list; | 88 | extern Lisp_Object Vminibuffer_list; |
| 89 | extern Lisp_Object get_minibuffer (); | 89 | extern Lisp_Object get_minibuffer (); |
| 90 | |||
| 91 | extern Lisp_Object Vlast_event_frame; | ||
| 90 | 92 | ||
| 91 | DEFUN ("framep", Fframep, Sframep, 1, 1, 0, | 93 | DEFUN ("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)) |