summaryrefslogtreecommitdiff
path: root/src/frame.c
diff options
context:
space:
mode:
authorKaroly Lorentey <lorentey@elte.hu>2004-07-18 21:49:24 +0000
committerKaroly Lorentey <lorentey@elte.hu>2004-07-18 21:49:24 +0000
commit31d7e9bc5a474c2da8c40f4812ea3e09cd5fb82c (patch)
tree729a3c238e43ed5625290e994d9ef0d09c18241a /src/frame.c
parent4cb2afc64f004ba91ff0bd37cf8ca6669b228988 (diff)
parentcdfa3eccb179fe579a5e38949d0a2ad3d2757524 (diff)
downloademacs-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.c30
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. */