diff options
author | Karoly Lorentey <lorentey@elte.hu> | 2004-07-18 21:49:24 +0000 |
---|---|---|
committer | Karoly Lorentey <lorentey@elte.hu> | 2004-07-18 21:49:24 +0000 |
commit | 31d7e9bc5a474c2da8c40f4812ea3e09cd5fb82c (patch) | |
tree | 729a3c238e43ed5625290e994d9ef0d09c18241a /src/frame.c | |
parent | 4cb2afc64f004ba91ff0bd37cf8ca6669b228988 (diff) | |
parent | cdfa3eccb179fe579a5e38949d0a2ad3d2757524 (diff) | |
download | emacs-31d7e9bc5a474c2da8c40f4812ea3e09cd5fb82c.tar.gz |
Merged in changes from CVS trunk.
Patches applied:
* lorentey@elte.hu--2004/emacs--hacks--0--patch-2
Prevent special events from appending dashes to the echo string.
* lorentey@elte.hu--2004/emacs--hacks--0--patch-4
Added ChangeLog entry.
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-454
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-455
Bash the dashes
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-456
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-457
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-458
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-459
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-460
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-219
Diffstat (limited to 'src/frame.c')
-rw-r--r-- | src/frame.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/frame.c b/src/frame.c index 41ee5a64bd5..9a0563c6f76 100644 --- a/src/frame.c +++ b/src/frame.c @@ -1553,6 +1553,36 @@ The functions are run with one arg, the frame to be deleted. */) } } + /* If there's no other frame on the same kboard, get out of + single-kboard state if we're in it for this kboard. */ + { + Lisp_Object frames; + /* Some frame we found on the same kboard, or nil if there are none. */ + Lisp_Object frame_on_same_kboard; + + frame_on_same_kboard = Qnil; + + for (frames = Vframe_list; + CONSP (frames); + frames = XCDR (frames)) + { + Lisp_Object this; + struct frame *f1; + + this = XCAR (frames); + if (!FRAMEP (this)) + abort (); + f1 = XFRAME (this); + + if (FRAME_KBOARD (f) == FRAME_KBOARD (f1)) + frame_on_same_kboard = this; + } + + if (NILP (frame_on_same_kboard)) + not_single_kboard_state (FRAME_KBOARD (f)); + } + + /* If we've deleted this keyboard's default_minibuffer_frame, try to find another one. Prefer minibuffer-only frames, but also notice frames with other windows. */ |