struct terminal **tp;
Lisp_Object tail, frame;
- /* Protect against recursive calls. Fdelete_frame calls the
+ /* Protect against recursive calls. delete_frame calls the
delete_terminal_hook when we delete our last frame. */
if (!terminal->name)
return;
struct frame *f = XFRAME (frame);
if (FRAME_LIVE_P (f) && f->terminal == terminal)
{
- /* Maybe this should pass Qnoelisp rather than Qt? */
- Fdelete_frame (frame, Qt);
+ /* Pass Qnoelisp rather than Qt. */
+ delete_frame (frame, Qnoelisp);
}
}
terminal->keyboard_coding = NULL;
xfree (terminal->terminal_coding);
terminal->terminal_coding = NULL;
-
-#ifdef MULTI_KBOARD
+
if (terminal->kboard && --terminal->kboard->reference_count == 0)
{
delete_kboard (terminal->kboard);
terminal->kboard = NULL;
}
-#endif
}
Lisp_Object Qrun_hook_with_args;
struct terminal *p = terminal_list;
while (p && (p == t || !TERMINAL_ACTIVE_P (p)))
p = p->next_terminal;
-
+
if (!p)
error ("Attempt to delete the sole active display terminal");
}
Lisp_Object object;
{
struct terminal *t;
-
+
t = get_terminal (object, 0);
if (!t)
return Qpc;
case output_mac:
return Qmac;
+ case output_ns:
+ return Qns;
default:
abort ();
}
initial_terminal = create_terminal ();
initial_terminal->type = output_initial;
initial_terminal->name = xstrdup ("initial_terminal");
-#ifdef MULTI_KBOARD
initial_terminal->kboard = initial_kboard;
-#endif
initial_terminal->delete_terminal_hook = &delete_initial_terminal;
/* All other hooks are NULL. */