summaryrefslogtreecommitdiff
path: root/src/keyboard.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2011-06-12 16:25:12 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2011-06-12 16:25:12 -0700
commitea204efb8a3e81a4d9b04d2a36cb8c2a1c74662c (patch)
treeb209feeebf1bdb6994f46217e29ba860dcc6c7ba /src/keyboard.c
parent78cf1fe8a256ffc91533b43eb851bf4519e9fbcc (diff)
downloademacs-ea204efb8a3e81a4d9b04d2a36cb8c2a1c74662c.tar.gz
emacs-ea204efb8a3e81a4d9b04d2a36cb8c2a1c74662c.tar.bz2
emacs-ea204efb8a3e81a4d9b04d2a36cb8c2a1c74662c.zip
* lisp.h (UNSIGNED_CMP): New macro.
This fixes comparison bugs on 64-bit hosts. (ASCII_CHAR_P): Use it. * casefiddle.c (casify_object): * character.h (ASCII_BYTE_P, CHAR_VALID_P): (SINGLE_BYTE_CHAR_P, CHAR_STRING): * composite.h (COMPOSITION_ENCODE_RULE_VALID): * dispextern.h (FACE_FROM_ID): * keyboard.c (read_char): Use UNSIGNED_CMP.
Diffstat (limited to 'src/keyboard.c')
-rw-r--r--src/keyboard.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index 89483972a65..0bacc2fa28f 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -2906,9 +2906,13 @@ read_char (int commandflag, int nmaps, Lisp_Object *maps, Lisp_Object prev_event
goto exit;
if ((STRINGP (KVAR (current_kboard, Vkeyboard_translate_table))
- && SCHARS (KVAR (current_kboard, Vkeyboard_translate_table)) > (unsigned) XFASTINT (c))
+ && UNSIGNED_CMP (XFASTINT (c), <,
+ SCHARS (KVAR (current_kboard,
+ Vkeyboard_translate_table))))
|| (VECTORP (KVAR (current_kboard, Vkeyboard_translate_table))
- && ASIZE (KVAR (current_kboard, Vkeyboard_translate_table)) > (unsigned) XFASTINT (c))
+ && UNSIGNED_CMP (XFASTINT (c), <,
+ ASIZE (KVAR (current_kboard,
+ Vkeyboard_translate_table))))
|| (CHAR_TABLE_P (KVAR (current_kboard, Vkeyboard_translate_table))
&& CHARACTERP (c)))
{