Commit 29b83cec authored by Andreas Schwab's avatar Andreas Schwab

* category.h (CHAR_HAS_CATEGORY): Define as inline.

(CATEGORY_MEMBER): Enforce 1/0 value.
* category.c (_temp_category_set): Remove.
parent 4c5501e9
2012-06-16 Andreas Schwab <schwab@linux-m68k.org>
* category.h (CHAR_HAS_CATEGORY): Define as inline.
(CATEGORY_MEMBER): Enforce 1/0 value.
* category.c (_temp_category_set): Remove.
2012-06-16 Eli Zaretskii <eliz@gnu.org>
* window.c (Fdelete_other_windows_internal)
......
......@@ -50,9 +50,6 @@ static int category_table_version;
static Lisp_Object Qcategory_table, Qcategoryp, Qcategorysetp, Qcategory_table_p;
/* Temporary internal variable used in macro CHAR_HAS_CATEGORY. */
Lisp_Object _temp_category_set;
/* Make CATEGORY_SET includes (if VAL is t) or excludes (if VAL is
nil) CATEGORY. */
#define SET_CATEGORY_SET(category_set, category, val) \
......
/* Declarations having to do with Emacs category tables.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2005, 2006, 2007, 2008, 2009, 2010, 2011
2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H14PRO021
Copyright (C) 2003
......@@ -69,27 +69,27 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define CHECK_CATEGORY_SET(x) \
CHECK_TYPE (CATEGORY_SET_P (x), Qcategorysetp, x)
/* Return the category set of character C in the current category table. */
#define CATEGORY_SET(c) char_category_set (c)
/* Return 1 if CATEGORY_SET contains CATEGORY, else return 0.
The faster version of `!NILP (Faref (category_set, category))'. */
#define CATEGORY_MEMBER(category, category_set) \
(XCATEGORY_SET (category_set)->data[(category) / 8] \
& (1 << ((category) % 8)))
/* Temporary internal variable used in macro CHAR_HAS_CATEGORY. */
extern Lisp_Object _temp_category_set;
((XCATEGORY_SET (category_set)->data[(category) / 8] \
>> ((category) % 8)) & 1)
/* Return 1 if category set of CH contains CATEGORY, elt return 0. */
#define CHAR_HAS_CATEGORY(ch, category) \
(_temp_category_set = CATEGORY_SET (ch), \
CATEGORY_MEMBER (category, _temp_category_set))
/* Return 1 if category set of CH contains CATEGORY, else return 0. */
static inline int
CHAR_HAS_CATEGORY (int ch, int category)
{
Lisp_Object category_set = CATEGORY_SET (ch);
return CATEGORY_MEMBER (category, category_set);
}
/* The standard category table is stored where it will automatically
be used in all new buffers. */
#define Vstandard_category_table BVAR (&buffer_defaults, category_table)
/* Return the category set of character C in the current category table. */
#define CATEGORY_SET(c) char_category_set (c)
/* Return the doc string of CATEGORY in category table TABLE. */
#define CATEGORY_DOCSTRING(table, category) \
XVECTOR (Fchar_table_extra_slot (table, make_number (0)))->contents[(category) - ' ']
......
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