summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Love <fx@gnu.org>2003-02-04 19:24:26 +0000
committerDave Love <fx@gnu.org>2003-02-04 19:24:26 +0000
commit2f2c059ddce0628c3b8a8fe861024ccf0eeb7dc9 (patch)
tree842f02e02779fc52cfda9fc3dc3416ce199e2346
parenta82f9242032a9e0e2371b738a1ebf37f6b523a9b (diff)
downloademacs-2f2c059ddce0628c3b8a8fe861024ccf0eeb7dc9.tar.gz
(XTread_socket): Check Lisp types for Vx_keysym_table
and fix C types.
-rw-r--r--src/xterm.c11
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