X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fchartab.c;h=003c91988473955371242f9429c77bb1d0ec9c83;hb=e4132091270ded973724a818a5c2ecc66e49c0f9;hp=43f784952a31fd468a09a42b64789ea0d4b5ad91;hpb=a71e0987b7080176e0046b0b0ed72a9a70e2571d;p=chise%2Fxemacs-chise.git diff --git a/src/chartab.c b/src/chartab.c index 43f7849..003c919 100644 --- a/src/chartab.c +++ b/src/chartab.c @@ -37,7 +37,6 @@ Boston, MA 02111-1307, USA. */ #include #include "lisp.h" -#include #include "buffer.h" #include "chartab.h" @@ -357,7 +356,7 @@ print_char_table (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag) #ifdef MULE { - int i; + Charset_ID i; for (i = MIN_LEADING_BYTE; i < MIN_LEADING_BYTE + NUM_LEADING_BYTES; i++) @@ -768,14 +767,22 @@ decode_char_table_range (Lisp_Object range, struct chartab_range *outrange) /* called from CHAR_TABLE_VALUE(). */ Lisp_Object -get_non_ascii_char_table_value (struct Lisp_Char_Table *ct, int leading_byte, - Emchar c) +get_non_ascii_char_table_value (struct Lisp_Char_Table *ct, + Charset_ID leading_byte, Emchar c) { Lisp_Object val; +#ifdef UTF2000 + Lisp_Object charset; +#else Lisp_Object charset = CHARSET_BY_LEADING_BYTE (leading_byte); +#endif int byte1, byte2; +#ifdef UTF2000 + BREAKUP_CHAR (c, charset, byte1, byte2); +#else BREAKUP_CHAR_1_UNSAFE (c, charset, byte1, byte2); +#endif val = ct->level1[leading_byte - MIN_LEADING_BYTE]; if (CHAR_TABLE_ENTRYP (val)) { @@ -1260,7 +1267,7 @@ map_over_charset_row (struct Lisp_Char_Table_Entry *cte, static int -map_over_other_charset (struct Lisp_Char_Table *ct, int lb, +map_over_other_charset (struct Lisp_Char_Table *ct, Charset_ID lb, int (*fn) (struct chartab_range *range, Lisp_Object val, void *arg), void *arg) @@ -1337,9 +1344,9 @@ map_char_table (struct Lisp_Char_Table *ct, if (retval) return retval; { - int i; - int start = MIN_LEADING_BYTE; - int stop = start + NUM_LEADING_BYTES; + Charset_ID i; + Charset_ID start = MIN_LEADING_BYTE; + Charset_ID stop = start + NUM_LEADING_BYTES; for (i = start, retval = 0; i < stop && retval == 0; i++) { @@ -1358,7 +1365,8 @@ map_char_table (struct Lisp_Char_Table *ct, case CHARTAB_RANGE_ROW: { - Lisp_Object val = ct->level1[XCHARSET_LEADING_BYTE (range->charset) - MIN_LEADING_BYTE]; + Lisp_Object val = ct->level1[XCHARSET_LEADING_BYTE (range->charset) + - MIN_LEADING_BYTE]; if (!CHAR_TABLE_ENTRYP (val)) { struct chartab_range rainj;