# HG changeset patch # User Dave Love # Date 1036420144 0 # Node ID afa06e8da62c43f579cee426d932ef4f94ec62a2 # Parent a4a0068ad95beb9bfcde7d2a20b0f37f2d9b5b20 (XTread_socket): Check Lisp types for Vx_keysym_table and fix C types. diff -r a4a0068ad95b -r afa06e8da62c src/xterm.c --- a/src/xterm.c Mon Nov 04 08:21:51 2002 +0000 +++ b/src/xterm.c Mon Nov 04 14:29:04 2002 +0000 @@ -10758,14 +10758,15 @@ numchars--; } /* Now non-ASCII. */ - else if (! EQ ((c = Fgethash (make_number (keysym), - Vx_keysym_table, Qnil)), - Qnil)) + else if (HASH_TABLE_P (Vx_keysym_table) + && (NATNUMP (c = Fgethash (make_number (keysym), + Vx_keysym_table, + Qnil)))) { - bufp->kind = (SINGLE_BYTE_CHAR_P (c) + bufp->kind = (SINGLE_BYTE_CHAR_P (XFASTINT (c)) ? ASCII_KEYSTROKE_EVENT : MULTIBYTE_CHAR_KEYSTROKE_EVENT); - bufp->code = c; + bufp->code = XFASTINT (c); XSETFRAME (bufp->frame_or_window, f); bufp->arg = Qnil; bufp->modifiers