# HG changeset patch # User aidan # Date 1120811254 0 # Node ID ad0054aa11f1b35d91a3c30e4ee055464d871e19 # Parent bfb048b5938f03d99476dc1a562ca6aacdd07b98 [xemacs-hg @ 2005-07-08 08:27:32 by aidan] Fix crash with C-h k C-g on MS Windows diff -r bfb048b5938f -r ad0054aa11f1 src/ChangeLog --- a/src/ChangeLog Thu Jul 07 21:50:53 2005 +0000 +++ b/src/ChangeLog Fri Jul 08 08:27:34 2005 +0000 @@ -1,3 +1,16 @@ +2005-07-07 Aidan Kehoe + + * console-msw.c: + * console-msw.c (mswindows_perhaps_init_unseen_key_defaults): + * console-msw.c (vars_of_console_mswindows): + Rename Qseen_characters to Vmswindows_seen_characters, dump it + when pdump is in use. + + * console-tty.c (tty_perhaps_init_unseen_key_defaults): + * console-tty.c (vars_of_console_tty): + Rename Qseen_characters to Vttyxo_seen_characters, dump it + when pdump is in use. + 2005-06-29 Marcus Crestani Fix C++ build for unexec. diff -r bfb048b5938f -r ad0054aa11f1 src/console-msw.c --- a/src/console-msw.c Thu Jul 07 21:50:53 2005 +0000 +++ b/src/console-msw.c Fri Jul 08 08:27:34 2005 +0000 @@ -68,7 +68,7 @@ Lisp_Object Qtopmost; Lisp_Object Qyesno; Lisp_Object Qyesnocancel; -static Lisp_Object Qseen_characters = Qnil; +Lisp_Object Vmswindows_seen_characters; /* Lisp_Object Qabort; */ /* Lisp_Object Qcancel; */ @@ -206,16 +206,17 @@ CHECK_CHAR(key); - if (!(HASH_TABLEP(Qseen_characters))) + if (!(HASH_TABLEP(Vmswindows_seen_characters))) { /* All the keysym we deal with are character objects; therefore, we can use eq as the test without worrying. */ - Qseen_characters = make_lisp_hash_table (128, HASH_TABLE_NON_WEAK, - HASH_TABLE_EQ); + Vmswindows_seen_characters = make_lisp_hash_table (128, + HASH_TABLE_NON_WEAK, + HASH_TABLE_EQ); } /* Might give the user an opaque error if make_lisp_hash_table fails, but it shouldn't crash. */ - CHECK_HASH_TABLE(Qseen_characters); + CHECK_HASH_TABLE(Vmswindows_seen_characters); val = XCHAR(key); @@ -225,14 +226,14 @@ return Qnil; } - if (!NILP(Fgethash(key, Qseen_characters, Qnil))) + if (!NILP(Fgethash(key, Vmswindows_seen_characters, Qnil))) { return Qnil; } if (NILP (Flookup_key (Vcurrent_global_map, key, Qnil))) { - Fputhash(key, Qt, Qseen_characters); + Fputhash(key, Qt, Vmswindows_seen_characters); Fdefine_key (Vcurrent_global_map, key, Qself_insert_command); return Qt; } @@ -757,6 +758,9 @@ void vars_of_console_mswindows (void) { - Qseen_characters = Qnil; + DEFVAR_LISP ("mswindows-seen-characters", &Vmswindows_seen_characters /* +Hash table of non-ASCII characters the MS Windows subsystem has seen. +*/ ); + Vmswindows_seen_characters = Qnil; Fprovide (Qmswindows); } diff -r bfb048b5938f -r ad0054aa11f1 src/console-tty.c --- a/src/console-tty.c Thu Jul 07 21:50:53 2005 +0000 +++ b/src/console-tty.c Fri Jul 08 08:27:34 2005 +0000 @@ -50,7 +50,7 @@ Lisp_Object Qterminal_type; Lisp_Object Qcontrolling_process; -static Lisp_Object Qseen_characters; +Lisp_Object Vtty_seen_characters; static const struct memory_description tty_console_data_description_1 [] = { { XD_LISP_OBJECT, offsetof (struct tty_console, terminal_type) }, @@ -362,17 +362,17 @@ CHECK_CHAR(key); - if (!(HASH_TABLEP(Qseen_characters))) + if (!(HASH_TABLEP(Vtty_seen_characters))) { /* All the keysyms we deal with are character objects; therefore, we can use eq as the test without worrying. */ - Qseen_characters = make_lisp_hash_table (128, HASH_TABLE_NON_WEAK, + Vtty_seen_characters = make_lisp_hash_table (128, HASH_TABLE_NON_WEAK, HASH_TABLE_EQ); } /* Might give the user an opaque error if make_lisp_hash_table fails, but it won't crash. */ - CHECK_HASH_TABLE(Qseen_characters); + CHECK_HASH_TABLE(Vtty_seen_characters); val = XCHAR(key); @@ -382,14 +382,14 @@ return Qnil; } - if (!NILP(Fgethash(key, Qseen_characters, Qnil))) + if (!NILP(Fgethash(key, Vtty_seen_characters, Qnil))) { return Qnil; } if (NILP (Flookup_key (Vcurrent_global_map, key, Qnil))) { - Fputhash(key, Qt, Qseen_characters); + Fputhash(key, Qt, Vtty_seen_characters); Fdefine_key (Vcurrent_global_map, key, Qself_insert_command); return Qt; } @@ -451,6 +451,9 @@ void vars_of_console_tty (void) { - Qseen_characters = Qnil; + DEFVAR_LISP ("tty-seen-characters", &Vtty_seen_characters /* +Hash table of non-ASCII characters the TTY subsystem has seen. +*/ ); + Vtty_seen_characters = Qnil; Fprovide (Qtty); }