From: Stefan Monnier Date: Wed, 31 Oct 2007 19:25:32 +0000 (+0000) Subject: * keyboard.c (syms_of_keyboard): Initialize the initial_kboard. X-Git-Tag: emacs-pretest-23.0.90~9925 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1bc973c2e4e89685a760187f76f4aeec9799b972;p=emacs.git * 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. --- diff --git a/src/ChangeLog b/src/ChangeLog index 8d1bf78bdc4..638ca30e047 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2007-10-31 Stefan Monnier + + * 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. + 2007-10-31 Dan Nicolaescu * s/usg5-4.h: diff --git a/src/frame.c b/src/frame.c index a8efa11f728..b06b541d60c 100644 --- a/src/frame.c +++ b/src/frame.c @@ -513,17 +513,7 @@ make_initial_frame (void) struct terminal *terminal; Lisp_Object frame; -#ifdef MULTI_KBOARD - /* Create the initial keyboard. */ - if (!initial_kboard) - { - initial_kboard = (KBOARD *) xmalloc (sizeof (KBOARD)); - init_kboard (initial_kboard); - /* Leave Vwindow_system at its `t' default for now. */ - initial_kboard->next_kboard = all_kboards; - all_kboards = initial_kboard; - } -#endif + eassert (initial_kboard); /* The first call must initialize Vframe_list. */ if (! (NILP (Vframe_list) || CONSP (Vframe_list))) diff --git a/src/keyboard.c b/src/keyboard.c index b98708534cd..23f2e6d53ff 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -7097,7 +7097,7 @@ tty_read_avail_input (struct terminal *terminal, 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 @@ init_keyboard () #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 @@ and the Lisp function within which the error was signaled. */); 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