X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/3055c5a456cb7a551d4132a55cf5711e7e218869..ff6daed30415db8a1110e11f67f5d61ef02f04a5:/src/category.c diff --git a/src/category.c b/src/category.c index bbd4686ed8..e1e59a317a 100644 --- a/src/category.c +++ b/src/category.c @@ -16,8 +16,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. */ /* Here we handle three objects: category, category set, and category @@ -67,14 +67,14 @@ those categories. */) 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); } @@ -87,11 +87,11 @@ those categories. */) 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; { @@ -107,7 +107,9 @@ The category is defined only in category table TABLE, which defaults to } 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; { @@ -119,10 +121,9 @@ DEFUN ("category-docstring", Fcategory_docstring, Scategory_docstring, 1, 2, 0, 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; @@ -167,7 +168,7 @@ check_category_table (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. @@ -267,7 +268,8 @@ DEFUN ("make-category-table", Fmake_category_table, Smake_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; { @@ -294,7 +296,7 @@ DEFUN ("category-set-mnemonics", Fcategory_set_mnemonics, 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; @@ -377,7 +379,7 @@ then delete CATEGORY from the category set instead of adding it. */) 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) @@ -534,7 +536,7 @@ init_category_once () 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)); @@ -609,3 +611,6 @@ See the documentation of the variable `word-combining-categories'. */); category_table_version = 0; } + +/* arch-tag: 74ebf524-121b-4d9c-bd68-07f8d708b211 + (do not change this comment) */