(emacs_doprnt_1): Fix problem with %0XXd for a negative integer.
[chise/xemacs-chise.git-] / src / chartab.h
index ac23e00..dc4301a 100644 (file)
@@ -141,7 +141,11 @@ CHAR_TABLE_NON_ASCII_VALUE_UNSAFE (struct Lisp_Char_Table *ct, Emchar ch);
 INLINE Lisp_Object
 CHAR_TABLE_NON_ASCII_VALUE_UNSAFE (struct 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
@@ -180,6 +184,7 @@ struct chartab_range
 void fill_char_table (struct Lisp_Char_Table *ct, Lisp_Object value);
 void put_char_table (struct Lisp_Char_Table *ct, struct chartab_range *range,
                     Lisp_Object val);
+Lisp_Object get_char_table (Emchar, struct Lisp_Char_Table *);
 int map_char_table (struct Lisp_Char_Table *ct,
                    struct chartab_range *range,
                    int (*fn) (struct chartab_range *range,
@@ -190,6 +195,7 @@ void prune_syntax_tables (int (*obj_marked_p) (Lisp_Object));
 EXFUN (Fcopy_char_table, 1);
 EXFUN (Fmake_char_table, 1);
 EXFUN (Fput_char_table, 3);
+EXFUN (Fget_char_table, 2);
 
 extern Lisp_Object Vall_syntax_tables;