#include <config.h>
#include "lisp.h"
-#include <stddef.h>
#include "buffer.h"
#include "chartab.h"
#ifdef MULE
{
- int i;
+ Charset_ID i;
for (i = MIN_LEADING_BYTE; i < MIN_LEADING_BYTE + NUM_LEADING_BYTES;
i++)
/* 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))
{
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)
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++)
{
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;