summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/syntax.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/syntax.h b/src/syntax.h
index 4b58b5da636..010f063e677 100644
--- a/src/syntax.h
+++ b/src/syntax.h
@@ -105,11 +105,14 @@ extern Lisp_Object syntax_parent_lookup P_ ((Lisp_Object, int));
# define CURRENT_SYNTAX_TABLE current_buffer->syntax_table
#endif
-#define SYNTAX_ENTRY_INT(c) \
+#define SYNTAX_ENTRY_INT(c) \
((c) < CHAR_TABLE_SINGLE_BYTE_SLOTS \
- ? SYNTAX_ENTRY_FOLLOW_PARENT (CURRENT_SYNTAX_TABLE, \
+ ? SYNTAX_ENTRY_FOLLOW_PARENT (CURRENT_SYNTAX_TABLE, \
(unsigned char) (c)) \
- : Faref (CURRENT_SYNTAX_TABLE, make_number ((c))))
+ : Faref (CURRENT_SYNTAX_TABLE, \
+ make_number (COMPOSITE_CHAR_P (c) \
+ ? cmpchar_component ((c), 0, 1) \
+ : (c))))
/* Extract the information from the entry for character C
in the current syntax table. */