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. */
/* Here we handle three objects: category, category set, and category
val = MAKE_CATEGORY_SET;
if (STRING_MULTIBYTE (categories))
- error ("Multibyte string in make-category-set");
+ error ("Multibyte string in `make-category-set'");
- len = XSTRING (categories)->size;
+ len = SCHARS (categories);
while (--len >= 0)
{
Lisp_Object category;
- XSETFASTINT (category, XSTRING (categories)->data[len]);
+ XSETFASTINT (category, SREF (categories, len));
CHECK_CATEGORY (category);
SET_CATEGORY_SET (val, category, Qt);
}
Lisp_Object check_category_table ();
DEFUN ("define-category", Fdefine_category, Sdefine_category, 2, 3, 0,
- doc: /* Define CHAR as a category which is described by DOCSTRING.
-CHAR should be an ASCII printing character in the range ` ' to `~'.
-DOCSTRING is a documentation string of the category.
+ doc: /* Define CATEGORY as a category which is described by DOCSTRING.
+CATEGORY should be an ASCII printing character in the range ` ' to `~'.
+DOCSTRING is the documentation string of the category.
The category is defined only in category table TABLE, which defaults to
- the current buffer's category table. */)
+the current buffer's category table. */)
(category, docstring, table)
Lisp_Object category, docstring, table;
{
}
DEFUN ("category-docstring", Fcategory_docstring, Scategory_docstring, 1, 2, 0,
- doc: /* Return the documentation string of CATEGORY, as defined in CATEGORY-TABLE. */)
+ doc: /* Return the documentation string of CATEGORY, as defined in TABLE.
+TABLE should be a category table and defaults to the current buffer's
+category table. */)
(category, table)
Lisp_Object category, table;
{
DEFUN ("get-unused-category", Fget_unused_category, Sget_unused_category,
0, 1, 0,
- doc: /* Return a category which is not yet defined in CATEGORY-TABLE.
+ doc: /* Return a category which is not yet defined in TABLE.
If no category remains available, return nil.
-The optional argument CATEGORY-TABLE
-specifies which category table to modify;
+The optional argument TABLE specifies which category table to modify;
it defaults to the current buffer's category table. */)
(table)
Lisp_Object table;
while (tem = Fcategory_table_p (table), NILP (tem))
table = wrong_type_argument (Qcategory_table_p, table);
return table;
-}
+}
DEFUN ("category-table", Fcategory_table, Scategory_table, 0, 0, 0,
doc: /* Return the current category table.
}
DEFUN ("set-category-table", Fset_category_table, Sset_category_table, 1, 1, 0,
- doc: /* Specify TABLE as the category table for the current buffer. */)
+ doc: /* Specify TABLE as the category table for the current buffer.
+Return TABLE. */)
(table)
Lisp_Object table;
{
Scategory_set_mnemonics, 1, 1, 0,
doc: /* Return a string containing mnemonics of the categories in CATEGORY-SET.
CATEGORY-SET is a bool-vector, and the categories \"in\" it are those
-that are indexes where t occurs the bool-vector.
+that are indexes where t occurs in the bool-vector.
The return value is a string containing those same categories. */)
(category_set)
Lisp_Object category_set;
if (NILP (CATEGORY_DOCSTRING (table, XFASTINT (category))))
error ("Undefined category: %c", XFASTINT (category));
-
+
set_value = NILP (reset) ? Qt : Qnil;
if (c < CHAR_TABLE_SINGLE_BYTE_SLOTS)
Fput (Qcategory_table, Qchar_table_extra_slots, make_number (2));
Vstandard_category_table = Fmake_char_table (Qcategory_table, Qnil);
- /* Set a category set which contains nothing to the default. */
+ /* Set a category set which contains nothing to the default. */
XCHAR_TABLE (Vstandard_category_table)->defalt = MAKE_CATEGORY_SET;
Fset_char_table_extra_slot (Vstandard_category_table, make_number (0),
Fmake_vector (make_number (95), Qnil));
category_table_version = 0;
}
+
+/* arch-tag: 74ebf524-121b-4d9c-bd68-07f8d708b211
+ (do not change this comment) */