(dos_rawgetc): Undo last change (there's no ``leaving selected frame''
[bpt/emacs.git] / src / category.h
index f646f9d..be534fb 100644 (file)
@@ -1,12 +1,14 @@
 /* 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,
@@ -16,8 +18,8 @@ GNU General Public License for more details.
 
 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,
@@ -53,10 +55,8 @@ Boston, MA 02111-1307, USA.  */
 #define CATEGORYP(x) \
   (INTEGERP ((x)) && XFASTINT ((x)) >= 0x20 && XFASTINT ((x)) <= 0x7E)
 
-#define CHECK_CATEGORY(x, i)                                           \
-  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
 
@@ -71,10 +71,8 @@ Boston, MA 02111-1307, USA.  */
 #define SET_CATEGORY_SET(category_set, category, val) \
   (Faset (category_set, category, val))
 
-#define CHECK_CATEGORY_SET(x, i)                                          \
-  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))'.  */
@@ -104,27 +102,21 @@ extern Lisp_Object _temp_category_set;
              && 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) : (c)));        \
+       temp = Faref (table, make_number (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) : (c))))
-#endif   
+#define CATEGORY_SET(c) \
+  Faref (current_buffer->category_table, make_number (c))
+#endif
 
 /* Return the doc string of CATEGORY in category table TABLE.  */
 #define CATEGORY_DOCSTRING(table, category) \
-  XVECTOR (Fchar_table_extra_slot (table, 0))->contents[(category) - ' ']
+  XVECTOR (Fchar_table_extra_slot (table, make_number (0)))->contents[(category) - ' ']
 
 /* Return the version number of category table TABLE.  Not used for
    the moment.  */
 #define CATEGORY_TABLE_VERSION (table) \
-  Fchar_table_extra_slot (table, 1)
+  Fchar_table_extra_slot (table, make_number (1))
 
 /* 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.
@@ -133,3 +125,8 @@ extern Lisp_Object _temp_category_set;
 #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) */