mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-24 13:57:36 +00:00
Adjusted for the change of CHAR_TABLE_ORDINARY_SLOTS.
This commit is contained in:
parent
513ee44261
commit
cecda31486
2 changed files with 8 additions and 8 deletions
|
|
@ -352,7 +352,7 @@ If optional forth argument RESET is non NIL,\n\
|
|||
|
||||
set_value = NILP (reset) ? Qt : Qnil;
|
||||
|
||||
if (SINGLE_BYTE_CHAR_P (c))
|
||||
if ((c) < CHAR_TABLE_SINGLE_BYTE_SLOTS)
|
||||
{
|
||||
val = XCHAR_TABLE (table)->contents[c];
|
||||
if (!CATEGORY_SET_P (val))
|
||||
|
|
@ -366,11 +366,11 @@ If optional forth argument RESET is non NIL,\n\
|
|||
SPLIT_NON_ASCII_CHAR (c, charset, c1, c2);
|
||||
|
||||
/* The top level table. */
|
||||
val = XCHAR_TABLE (table)->contents[charset];
|
||||
val = XCHAR_TABLE (table)->contents[charset + 128];
|
||||
if (NILP (val))
|
||||
{
|
||||
category_set = MAKE_CATEGORY_SET;
|
||||
XCHAR_TABLE (table)->contents[charset] = category_set;
|
||||
XCHAR_TABLE (table)->contents[charset + 128] = category_set;
|
||||
}
|
||||
else if (CATEGORY_SET_P (val))
|
||||
category_set = val;
|
||||
|
|
@ -390,7 +390,7 @@ If optional forth argument RESET is non NIL,\n\
|
|||
if (!CHAR_TABLE_P (val))
|
||||
{
|
||||
val = Fmake_char_table (Qnil, Qnil);
|
||||
XCHAR_TABLE (table)->contents[charset] = val;
|
||||
XCHAR_TABLE (table)->contents[charset + 128] = val;
|
||||
/* We must set default category set of CHARSET in `defalt' slot. */
|
||||
XCHAR_TABLE (val)->defalt = category_set;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,12 +37,12 @@ Boston, MA 02111-1307, USA. */
|
|||
categories. Total number of categories is limited to 95.
|
||||
|
||||
A category set is a set of categories represented by Lisp
|
||||
bool-vector of length 128 (only elements of 31th through 125th
|
||||
bool-vector of length 128 (only elements of 31th through 126th
|
||||
are used).
|
||||
|
||||
A category table is like syntax-table, represented by a Lisp
|
||||
char-table. The contents are category sets or nil. It has two
|
||||
extra slots. for a vector of doc string of each category and a
|
||||
extra slots, for a vector of doc string of each category and a
|
||||
version number.
|
||||
|
||||
The first extra slot is a vector of doc strings of categories, the
|
||||
|
|
@ -101,7 +101,7 @@ extern Lisp_Object _temp_category_set;
|
|||
#define CATEGORY_SET(c) \
|
||||
({ Lisp_Object table = current_buffer->category_table; \
|
||||
Lisp_Object temp; \
|
||||
if ((c) < CHAR_TABLE_ORDINARY_SLOTS) \
|
||||
if ((c) < CHAR_TABLE_SINGLE_BYTE_SLOTS) \
|
||||
while (NILP (temp = XCHAR_TABLE (table)->contents[(unsigned char) c]) \
|
||||
&& NILP (temp = XCHAR_TABLE (table)->defalt)) \
|
||||
table = XCHAR_TABLE (table)->parent; \
|
||||
|
|
@ -111,7 +111,7 @@ extern Lisp_Object _temp_category_set;
|
|||
temp; })
|
||||
#else
|
||||
#define CATEGORY_SET(c) \
|
||||
((c) < CHAR_TABLE_ORDINARY_SLOTS \
|
||||
((c) < CHAR_TABLE_SINGLE_BYTE_SLOTS \
|
||||
? Faref (current_buffer->category_table, make_number ((unsigned char) c)) \
|
||||
: Faref (current_buffer->category_table, \
|
||||
COMPOSITE_CHAR_P (c) ? cmpchar_component ((c), 0) : (c))
|
||||
|
|
|
|||
Loading…
Reference in a new issue