update.
[chise/xemacs-chise.git-] / src / chartab.h
index 98901fa..14ed176 100644 (file)
@@ -132,15 +132,19 @@ DECLARE_LRECORD (char_table, Lisp_Char_Table);
 #ifdef MULE
 
 Lisp_Object get_non_ascii_char_table_value (Lisp_Char_Table *ct,
-                                           int leading_byte,
+                                           Charset_ID leading_byte,
                                            Emchar c);
 
-INLINE Lisp_Object
+INLINE_HEADER Lisp_Object
 CHAR_TABLE_NON_ASCII_VALUE_UNSAFE (Lisp_Char_Table *ct, Emchar ch);
-INLINE Lisp_Object
+INLINE_HEADER Lisp_Object
 CHAR_TABLE_NON_ASCII_VALUE_UNSAFE (Lisp_Char_Table *ct, Emchar ch)
 {
-  unsigned char lb = CHAR_LEADING_BYTE (ch);
+#ifdef UTF2000
+  Charset_ID lb = CHAR_CHARSET_ID (ch);
+#else
+  Charset_ID lb = CHAR_LEADING_BYTE (ch);
+#endif
   if (!CHAR_TABLE_ENTRYP ((ct)->level1[lb - MIN_LEADING_BYTE]))
     return (ct)->level1[lb - MIN_LEADING_BYTE];
   else
@@ -158,6 +162,9 @@ CHAR_TABLE_NON_ASCII_VALUE_UNSAFE (Lisp_Char_Table *ct, Emchar ch)
 
 #endif /* not MULE */
 
+#define XCHAR_TABLE_VALUE_UNSAFE(ct, ch) \
+  CHAR_TABLE_VALUE_UNSAFE (XCHAR_TABLE (ct), ch)
+
 enum chartab_range_type
 {
   CHARTAB_RANGE_ALL,