val = ct->ascii[byte1 + 128];
     else
       {
-       Charset_ID lb = XCHARSET_LEADING_BYTE (charset) - MIN_LEADING_BYTE;
+       int lb = XCHARSET_LEADING_BYTE (charset) - MIN_LEADING_BYTE;
        val = ct->level1[lb];
        if (CHAR_TABLE_ENTRYP (val))
          {
        }
       else
        {
-         Charset_ID lb
-           = XCHARSET_LEADING_BYTE (range->charset) - MIN_LEADING_BYTE;
+         int lb = XCHARSET_LEADING_BYTE (range->charset) - MIN_LEADING_BYTE;
          ct->level1[lb] = val;
        }
       break;
     case CHARTAB_RANGE_ROW:
       {
        struct Lisp_Char_Table_Entry *cte;
-       Charset_ID lb
-         = XCHARSET_LEADING_BYTE (range->charset) - MIN_LEADING_BYTE;
+       int lb = XCHARSET_LEADING_BYTE (range->charset) - MIN_LEADING_BYTE;
        /* make sure that there is a separate entry for the row. */
        if (!CHAR_TABLE_ENTRYP (ct->level1[lb]))
          ct->level1[lb] = make_char_table_entry (ct->level1[lb]);
        else
          {
            struct Lisp_Char_Table_Entry *cte;
-           Charset_ID lb = XCHARSET_LEADING_BYTE (charset) - MIN_LEADING_BYTE;
+           int lb = XCHARSET_LEADING_BYTE (charset) - MIN_LEADING_BYTE;
            /* make sure that there is a separate entry for the row. */
            if (!CHAR_TABLE_ENTRYP (ct->level1[lb]))
              ct->level1[lb] = make_char_table_entry (ct->level1[lb]);