# HG changeset patch # User Kenichi Handa # Date 858727894 0 # Node ID 9ab0c08a3359106e91893df69226a5ad7badace9 # Parent 65bc06706714ac655b698724288a5c2c58a11880 Adjusted for the change of CHAR_TABLE_ORDINARY_SLOTS. diff -r 65bc06706714 -r 9ab0c08a3359 src/category.c --- a/src/category.c Tue Mar 18 23:31:34 1997 +0000 +++ b/src/category.c Tue Mar 18 23:31:34 1997 +0000 @@ -352,7 +352,7 @@ 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 @@ 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 (!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; } diff -r 65bc06706714 -r 9ab0c08a3359 src/category.h --- a/src/category.h Tue Mar 18 23:31:34 1997 +0000 +++ b/src/category.h Tue Mar 18 23:31:34 1997 +0000 @@ -37,12 +37,12 @@ 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 @@ #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 @@ 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))