/* Declarations having to do with Emacs category tables.
- Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
- Licensed to the Free Software Foundation.
+ Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+ 2005, 2006, 2007
+ National Institute of Advanced Industrial Science and Technology (AIST)
+ Registration Number H14PRO021
This file is part of GNU Emacs.
GNU Emacs is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
+the Free Software Foundation; either version 3, or (at your option)
any later version.
GNU Emacs is distributed in the hope that it will be useful,
You should have received a copy of the GNU General Public License
along with GNU Emacs; see the file COPYING. If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/* We introduce here three types of object: category, category set,
#define CATEGORYP(x) \
(INTEGERP ((x)) && XFASTINT ((x)) >= 0x20 && XFASTINT ((x)) <= 0x7E)
-#define CHECK_CATEGORY(x) \
- do { \
- if (!CATEGORYP ((x))) x = wrong_type_argument (Qcategoryp, (x)); \
- } while (0)
+#define CHECK_CATEGORY(x) \
+ CHECK_TYPE (CATEGORYP (x), Qcategoryp, x)
#define XCATEGORY_SET XBOOL_VECTOR
#define SET_CATEGORY_SET(category_set, category, val) \
(Faset (category_set, category, val))
-#define CHECK_CATEGORY_SET(x) \
- do { \
- if (!CATEGORY_SET_P ((x))) x = wrong_type_argument (Qcategorysetp, (x)); \
- } while (0)
+#define CHECK_CATEGORY_SET(x) \
+ CHECK_TYPE (CATEGORY_SET_P (x), Qcategorysetp, x)
/* Return 1 if CATEGORY_SET contains CATEGORY, else return 0.
The faster version of `!NILP (Faref (category_set, category))'. */