diff options
author | Dave Love <fx@gnu.org> | 2003-02-04 19:24:26 +0000 |
---|---|---|
committer | Dave Love <fx@gnu.org> | 2003-02-04 19:24:26 +0000 |
commit | 2f2c059ddce0628c3b8a8fe861024ccf0eeb7dc9 (patch) | |
tree | 842f02e02779fc52cfda9fc3dc3416ce199e2346 | |
parent | a82f9242032a9e0e2371b738a1ebf37f6b523a9b (diff) | |
download | emacs-2f2c059ddce0628c3b8a8fe861024ccf0eeb7dc9.tar.gz |
(XTread_socket): Check Lisp types for Vx_keysym_table
and fix C types.
-rw-r--r-- | src/xterm.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/xterm.c b/src/xterm.c index d878d6cce86..b6c63aacfa1 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -10571,14 +10571,15 @@ XTread_socket (sd, bufp, numchars, expected) 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) + && (CHARACTERP (c = Fgethash (make_number (keysym), + Vx_keysym_table, + Qnil)))) { - bufp->kind = (ASCII_CHAR_P (c) + bufp->kind = (ASCII_CHAR_P (XFASTINT (c)) ? ascii_keystroke : multibyte_char_keystroke); - bufp->code = c; + bufp->code = XFASTINT (c); XSETFRAME (bufp->frame_or_window, f); bufp->arg = Qnil; bufp->modifiers |