Commit f4926ee8 authored by Kenichi Handa's avatar Kenichi Handa

(SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.

(SYNTAX_ENTRY_FOLLOW_PARENT): Macro deleted.
(SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
(SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
parent 5c7b02ab
......@@ -57,37 +57,14 @@ enum syntaxcode
/* Set the syntax entry VAL for char C in table TABLE. */
#define SET_RAW_SYNTAX_ENTRY(table, c, val) \
((c) < CHAR_TABLE_SINGLE_BYTE_SLOTS \
? (XCHAR_TABLE (table)->contents[(unsigned char) (c)] = (val)) \
: Faset ((table), make_number (c), (val)))
#define SET_RAW_SYNTAX_ENTRY(table, c, val) \
CHAR_TABLE_SET ((table), make_number (c), (val))
/* Fetch the syntax entry for char C in syntax table TABLE.
This macro is called only when C is less than CHAR_TABLE_ORDINARY_SLOTS.
Do inheritance. */
/* Set the syntax entry VAL for char-range RANGE in table TABLE.
RANGE is a cons (FROM . TO) specifying the range of characters. */
#ifdef __GNUC__
#define SYNTAX_ENTRY_FOLLOW_PARENT(table, c) \
({ Lisp_Object tbl = table; \
Lisp_Object temp = XCHAR_TABLE (tbl)->contents[(c)]; \
while (NILP (temp)) \
{ \
tbl = XCHAR_TABLE (tbl)->parent; \
if (NILP (tbl)) \
break; \
temp = XCHAR_TABLE (tbl)->contents[(c)]; \
} \
temp; })
#else
extern Lisp_Object syntax_temp;
extern Lisp_Object syntax_parent_lookup P_ ((Lisp_Object, int));
#define SYNTAX_ENTRY_FOLLOW_PARENT(table, c) \
(syntax_temp = XCHAR_TABLE (table)->contents[(c)], \
(NILP (syntax_temp) \
? syntax_parent_lookup (table, (c)) \
: syntax_temp))
#endif
#define SET_RAW_SYNTAX_ENTRY_RANGE(table, range, val) \
Fset_char_table_range ((table), (range), (val))
/* SYNTAX_ENTRY fetches the information from the entry for character C
in syntax table TABLE, or from globally kept data (gl_state).
......@@ -105,12 +82,8 @@ extern Lisp_Object syntax_parent_lookup P_ ((Lisp_Object, int));
# define CURRENT_SYNTAX_TABLE current_buffer->syntax_table
#endif
#define SYNTAX_ENTRY_INT(c) \
((c) < CHAR_TABLE_SINGLE_BYTE_SLOTS \
? SYNTAX_ENTRY_FOLLOW_PARENT (CURRENT_SYNTAX_TABLE, \
(unsigned char) (c)) \
: Faref (CURRENT_SYNTAX_TABLE, \
make_number (c)))
#define SYNTAX_ENTRY_INT(c) \
CHAR_TABLE_REF (CURRENT_SYNTAX_TABLE, make_number (c))
/* Extract the information from the entry for character C
in the current syntax table. */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment