]> git.eshelyaron.com Git - emacs.git/commitdiff
(CATEGORY_SET): For a composite character, return
authorKenichi Handa <handa@m17n.org>
Thu, 27 Feb 1997 11:15:29 +0000 (11:15 +0000)
committerKenichi Handa <handa@m17n.org>
Thu, 27 Feb 1997 11:15:29 +0000 (11:15 +0000)
category set of the first component.

src/category.h

index 723bdb023e542b0ac9033ce963013ff809d168fe..956c6284b365660de21590c0ea650c8210535bfa 100644 (file)
@@ -98,18 +98,21 @@ extern Lisp_Object _temp_category_set;
 
 /* Return the category set of character C in the current category table.  */
 #ifdef __GNUC__
-#define CATEGORY_SET(c)                                                \
-  ({ Lisp_Object table = current_buffer->category_table;       \
-     Lisp_Object temp;                                         \
-     if (c < CHAR_TABLE_ORDINARY_SLOTS)                                \
-       while (NILP (temp = XCHAR_TABLE (table)->contents[c])   \
-             && NILP (temp = XCHAR_TABLE (table)->defalt))     \
-        table = XCHAR_TABLE (table)->parent;                   \
-     else                                                      \
-       temp = Faref (table, c);                                        \
+#define CATEGORY_SET(c)                                                             \
+  ({ Lisp_Object table = current_buffer->category_table;                    \
+     Lisp_Object temp;                                                      \
+     if (c < CHAR_TABLE_ORDINARY_SLOTS)                                             \
+       while (NILP (temp = XCHAR_TABLE (table)->contents[c])                \
+             && NILP (temp = XCHAR_TABLE (table)->defalt))                  \
+        table = XCHAR_TABLE (table)->parent;                                \
+     else                                                                   \
+       temp = Faref (table,                                                 \
+                    COMPOSITE_CHAR_P (c) ? cmpchar_component (c, 0) : (c)); \
      temp; })
 #else
-#define CATEGORY_SET(c) Faref (current_buffer->category_table, c)
+#define CATEGORY_SET(c)                                \
+  Faref (current_buffer->category_table,       \
+        COMPOSITE_CHAR_P (c) ? cmpchar_component (c, 0) : (c))
 #endif   
 
 /* Return the doc string of CATEGORY in category table TABLE.  */