For the moment, we are not using this feature. */
static int category_table_version;
-Lisp_Object Qcategory_table, Qcategoryp, Qcategorysetp, Qcategory_table_p;
+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) \
+ set_category_set (category_set, category, val)
+static void set_category_set (Lisp_Object, Lisp_Object, Lisp_Object);
\f
/* Category set staff. */
hash_get_category_set (Lisp_Object table, Lisp_Object category_set)
{
struct Lisp_Hash_Table *h;
- int i;
- unsigned hash;
+ EMACS_INT i;
+ EMACS_UINT hash;
if (NILP (XCHAR_TABLE (table)->extras[1]))
XCHAR_TABLE (table)->extras[1]
\f
/* Category staff. */
-Lisp_Object check_category_table (Lisp_Object table);
+static Lisp_Object check_category_table (Lisp_Object table);
DEFUN ("define-category", Fdefine_category, Sdefine_category, 2, 3, 0,
doc: /* Define CATEGORY as a category which is described by DOCSTRING.
table = check_category_table (table);
if (!NILP (CATEGORY_DOCSTRING (table, XFASTINT (category))))
- error ("Category `%c' is already defined", XFASTINT (category));
+ error ("Category `%c' is already defined", (int) XFASTINT (category));
if (!NILP (Vpurify_flag))
docstring = Fpurecopy (docstring);
CATEGORY_DOCSTRING (table, XFASTINT (category)) = docstring;
valid, return TABLE itself, but if not valid, signal an error of
wrong-type-argument. */
-Lisp_Object
+static Lisp_Object
check_category_table (Lisp_Object table)
{
if (NILP (table))
return build_string (str);
}
-void
+static void
set_category_set (Lisp_Object category_set, Lisp_Object category, Lisp_Object val)
{
do {
table = check_category_table (table);
if (NILP (CATEGORY_DOCSTRING (table, XFASTINT (category))))
- error ("Undefined category: %c", XFASTINT (category));
+ error ("Undefined category: %c", (int) XFASTINT (category));
set_value = NILP (reset) ? Qt : Qnil;
init_category_once (void)
{
/* This has to be done here, before we call Fmake_char_table. */
- Qcategory_table = intern_c_string ("category-table");
- staticpro (&Qcategory_table);
+ DEFSYM (Qcategory_table, "category-table");
/* Intern this now in case it isn't already done.
Setting this variable twice is harmless.
void
syms_of_category (void)
{
- Qcategoryp = intern_c_string ("categoryp");
- staticpro (&Qcategoryp);
- Qcategorysetp = intern_c_string ("categorysetp");
- staticpro (&Qcategorysetp);
- Qcategory_table_p = intern_c_string ("category-table-p");
- staticpro (&Qcategory_table_p);
+ DEFSYM (Qcategoryp, "categoryp");
+ DEFSYM (Qcategorysetp, "categorysetp");
+ DEFSYM (Qcategory_table_p, "category-table-p");
DEFVAR_LISP ("word-combining-categories", Vword_combining_categories,
doc: /* List of pair (cons) of categories to determine word boundary.