New C function `push_display_kboard'.
authorKaroly Lorentey <lorentey@elte.hu>
Mon, 27 Jun 2005 00:57:09 +0000 (00:57 +0000)
committerKaroly Lorentey <lorentey@elte.hu>
Mon, 27 Jun 2005 00:57:09 +0000 (00:57 +0000)
* src/keyboard.c (push_display_kboard): New function.
* src/keyboard.h (push_display_kboard): Declare it.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-364

src/keyboard.c
src/keyboard.h

index 6fb95f5..a906146 100644 (file)
@@ -1111,6 +1111,22 @@ struct kboard_stack
 
 static struct kboard_stack *kboard_stack;
 
+void
+push_display_kboard (d)
+     struct display *d;
+{
+#ifdef MULTI_KBOARD
+  struct kboard_stack *p
+    = (struct kboard_stack *) xmalloc (sizeof (struct kboard_stack));
+
+  p->next = kboard_stack;
+  p->kboard = current_kboard;
+  kboard_stack = p;
+
+  current_kboard = d->kboard;
+#endif
+}
+
 void
 push_frame_kboard (f)
      FRAME_PTR f;
@@ -10803,7 +10819,7 @@ delete_kboard (kb)
       && FRAMEP (selected_frame)
       && FRAME_LIVE_P (XFRAME (selected_frame)))
     {
-      current_kboard = XFRAME (selected_frame)->kboard;
+      current_kboard = XFRAME (selected_frame)->display->kboard;
       if (current_kboard == kb)
        abort ();
     }
index de22549..91226ce 100644 (file)
@@ -315,6 +315,7 @@ extern void init_kboard P_ ((KBOARD *));
 extern void delete_kboard P_ ((KBOARD *));
 extern void single_kboard_state P_ ((void));
 extern void not_single_kboard_state P_ ((KBOARD *));
+extern void push_display_kboard P_ ((struct display *));
 extern void push_frame_kboard P_ ((struct frame *));
 extern void pop_frame_kboard P_ ((void));
 extern void record_asynch_buffer_change P_ ((void));