Mercurial > emacs
diff src/keyboard.c @ 85839:f32c70475c8e
* keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
(init_keyboard): Set current_kboard's window-system to nil.
(tty_read_avail_input): Typo.
* frame.c (make_initial_frame): Don't initialize the initial_kboard.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Wed, 31 Oct 2007 19:25:32 +0000 |
parents | b210bba3f477 |
children | 70564a109512 |
line wrap: on
line diff
--- a/src/keyboard.c Wed Oct 31 16:16:12 2007 +0000 +++ b/src/keyboard.c Wed Oct 31 19:25:32 2007 +0000 @@ -7097,7 +7097,7 @@ int nread = 0; if (!terminal->name) /* Don't read from a dead terminal. */ - return; + return 0; if (terminal->type != output_termcap) abort (); @@ -11572,9 +11572,12 @@ #ifdef MULTI_KBOARD current_kboard = initial_kboard; #endif + /* Re-initialize the keyboard again. */ wipe_kboard (current_kboard); init_kboard (current_kboard); - /* Leave Vwindow_system at its `t' default for now. */ + /* A value of nil for Vwindow_system normally means a tty, but we also use + it for the initial terminal since there is no window system there. */ + current_kboard->Vwindow_system = Qnil; if (!noninteractive) { @@ -12400,6 +12403,15 @@ Help functions bind this to allow help on disabled menu items and tool-bar buttons. */); Venable_disabled_menus_and_buttons = Qnil; + +#ifdef MULTI_KBOARD + /* Create the initial keyboard. */ + initial_kboard = (KBOARD *) xmalloc (sizeof (KBOARD)); + init_kboard (initial_kboard); + /* Vwindow_system is left at t for now. */ + initial_kboard->next_kboard = all_kboards; + all_kboards = initial_kboard; +#endif } void