/* 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.
#define CATEGORYP(x) \
(INTEGERP ((x)) && XFASTINT ((x)) >= 0x20 && XFASTINT ((x)) <= 0x7E)
-#define CHECK_CATEGORY(x, i) \
+#define CHECK_CATEGORY(x) \
do { \
if (!CATEGORYP ((x))) x = wrong_type_argument (Qcategoryp, (x)); \
} while (0)
#define SET_CATEGORY_SET(category_set, category, val) \
(Faset (category_set, category, val))
-#define CHECK_CATEGORY_SET(x, i) \
+#define CHECK_CATEGORY_SET(x) \
do { \
if (!CATEGORY_SET_P ((x))) x = wrong_type_argument (Qcategorysetp, (x)); \
} while (0)
#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 (COMPOSITE_CHAR_P (c) \
- ? cmpchar_component ((c), 0, 1) : (c))); \
- temp; })
-#else
-#define CATEGORY_SET(c) \
- ((c) < CHAR_TABLE_SINGLE_BYTE_SLOTS \
- ? Faref (current_buffer->category_table, make_number ((unsigned char) c)) \
- : Faref (current_buffer->category_table, \
- make_number (COMPOSITE_CHAR_P (c) \
- ? cmpchar_component ((c), 0, 1) : (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) \
/* 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) */