]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve documentation of regexp search for categories.
authorEli Zaretskii <eliz@gnu.org>
Tue, 16 Aug 2011 07:53:33 +0000 (10:53 +0300)
committerEli Zaretskii <eliz@gnu.org>
Tue, 16 Aug 2011 07:53:33 +0000 (10:53 +0300)
 doc/lispref/searching.texi (Regexp Backslash): Document how to display
 existing categories.  Mention the possibility of adding
 categories, and add an xref to where this is described.  Add an
 index entry.
 doc/lispref/syntax.texi (Categories): Add an example of defining a new
 category and category table.

doc/lispref/ChangeLog
doc/lispref/searching.texi
doc/lispref/syntax.texi

index 5bdc17136e1e7780d79f7aa3d4988ecb5726d5a5..40ad3dc8c52730d70323ea4983fffa384d960b99 100644 (file)
@@ -1,3 +1,13 @@
+2011-08-16  Eli Zaretskii  <eliz@gnu.org>
+
+       * syntax.texi (Categories): Add an example of defining a new
+       category and category table.
+
+       * searching.texi (Regexp Backslash): Document how to display
+       existing categories.  Mention the possibility of adding
+       categories, and add an xref to where this is described.  Add an
+       index entry.
+
 2011-08-09  Chong Yidong  <cyd@stupidchicken.com>
 
        * text.texi (Special Properties):
index 6272301dbb475c1228c01ae415a1d2323d6a2c65..fe7c805c6f79073d7b8721c87432cc54a595891f 100644 (file)
@@ -717,11 +717,15 @@ the characters that stand for them.
 @cindex @samp{\S} in regexp
 matches any character whose syntax is not @var{code}.
 
+@cindex category, regexp search for
 @item \c@var{c}
 matches any character whose category is @var{c}.  Here @var{c} is a
 character that represents a category: thus, @samp{c} for Chinese
 characters or @samp{g} for Greek characters in the standard category
-table.
+table.  You can see the list of all the currently defined categories
+with @kbd{M-x describe-categories @key{RET}}.  You can also define
+your own categories in addition to the standard ones using the
+@code{define-category} function (@pxref{Categories}).
 
 @item \C@var{c}
 matches any character whose category is not @var{c}.
index 31ee7eb4e7da4548c59ef482eb338f1708f89492..0d7a0c0bed47ae075716b065a0423c473a20c80f 100644 (file)
@@ -1084,6 +1084,24 @@ defaults to the current buffer's category table.
 @defun define-category char docstring &optional table
 This function defines a new category, with name @var{char} and
 documentation @var{docstring}, for the category table @var{table}.
+
+Here's an example of defining a new category for characters that have
+strong right-to-left directionality (@pxref{Bidirectional Display})
+and using it in a special category table:
+
+@example
+(defvar special-category-table-for-bidi
+  (let ((category-table (make-category-table))
+       (uniprop-table (unicode-property-table-internal 'bidi-class)))
+    (define-category ?R "Characters of bidi-class R, AL, or RLO"
+                     category-table)
+    (map-char-table
+     #'(lambda (key val)
+        (if (memq val '(R AL RLO))
+            (modify-category-entry key ?R category-table)))
+     uniprop-table)
+    category-table))
+@end example
 @end defun
 
 @defun category-docstring category &optional table