]> code.delx.au - gnu-emacs/blobdiff - src/category.h
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-29
[gnu-emacs] / src / category.h
index 3b2e609bdd3235ccd6c6a53862d6d45685511a5a..adad3d713f8328f9a55bb0cf3c24b87152d5c4a7 100644 (file)
@@ -1,6 +1,9 @@
 /* Declarations having to do with Emacs category tables.
    Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
      Licensed to the Free Software Foundation.
+   Copyright (C) 2003
+     National Institute of Advanced Industrial Science and Technology (AIST)
+     Registration Number H13PRO009
 
 This file is part of GNU Emacs.
 
@@ -95,21 +98,7 @@ extern Lisp_Object _temp_category_set;
 #define Vstandard_category_table buffer_defaults.category_table
 
 /* 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_SINGLE_BYTE_SLOTS)                                \
-       while (NILP (temp = XCHAR_TABLE (table)->contents[(unsigned char) c]) \
-             && NILP (temp = XCHAR_TABLE (table)->defalt))                  \
-        table = XCHAR_TABLE (table)->parent;                                \
-     else                                                                   \
-       temp = Faref (table, make_number (c));                               \
-     temp; })
-#else
-#define CATEGORY_SET(c) \
-  Faref (current_buffer->category_table, make_number (c))
-#endif   
+#define CATEGORY_SET(c) char_category_set (c)
 
 /* Return the doc string of CATEGORY in category table TABLE.  */
 #define CATEGORY_DOCSTRING(table, category) \
@@ -122,10 +111,13 @@ extern Lisp_Object _temp_category_set;
 
 /* Return 1 if there is a word boundary between two word-constituent
    characters C1 and C2 if they appear in this order, else return 0.
-   There is no word boundary between two word-constituent ASCII
-   characters.  */
+   There is no word boundary between two word-constituent ASCII and
+   Latin-1 characters.  */
 #define WORD_BOUNDARY_P(c1, c2)                                        \
   (!(SINGLE_BYTE_CHAR_P (c1) && SINGLE_BYTE_CHAR_P (c2))       \
    && word_boundary_p (c1, c2))
 
 extern int word_boundary_p P_ ((int, int));
+
+/* arch-tag: 309dfe83-c3e2-4d22-8e81-faae5aece0ff
+   (do not change this comment) */