@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+@c 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@setfilename ../../info/sequences
@node Sequences Arrays Vectors, Hash Tables, Lists, Top
This function returns the subtype symbol of @var{char-table}.
@end defun
-@defun set-char-table-default char-table char new-default
-This function sets the default value of generic character @var{char}
-in @var{char-table} to @var{new-default}.
-
There is no special function to access default values in a char-table.
To do that, use @code{char-table-range} (see below).
-@end defun
@defun char-table-parent char-table
This function returns the parent of @var{char-table}. The parent is
Refers to the element for character @var{char}
(supposing @var{char} is a valid character code).
-@item @var{charset}
-Refers to the value specified for the whole character set
-@var{charset} (@pxref{Character Sets}).
-
-@item @var{generic-char}
-A generic character stands for a character set, or a row of a
-character set; specifying the generic character as argument is
-equivalent to specifying the character set name. @xref{Splitting
-Characters}, for a description of generic characters.
+@item @code{(@var{from} . @var{to})}
+A cons cell refers to all the characters in the inclusive range
+@samp{[@var{from}..@var{to}]}.
@end table
@end defun
Refers to the element for character @var{char}
(supposing @var{char} is a valid character code).
-@item @var{charset}
-Refers to the value specified for the whole character set
-@var{charset} (@pxref{Character Sets}).
-
-@item @var{generic-char}
-A generic character stands for a character set; specifying the generic
-character as argument is equivalent to specifying the character set
-name. @xref{Splitting Characters}, for a description of generic characters.
+@item @code{(@var{from} . @var{to})}
+A cons cell refers to all the characters in the inclusive range
+@samp{[@var{from}..@var{to}]}.
@end table
@end defun
@defun map-char-table function char-table
-This function calls @var{function} for each element of @var{char-table}.
+This function calls the specified @var{function} for each element of
+@var{char-table} that has a non-@code{nil} value.
@var{function} is called with two arguments, a key and a value. The key
is a possible @var{range} argument for @code{char-table-range}---either
-a valid character or a generic character---and the value is
-@code{(char-table-range @var{char-table} @var{key})}.
+a valid character or a cons cell @code{(@var{from} . @var{to})},
+specifying a range of characters that share the same value. The value is
+what @code{(char-table-range @var{char-table} @var{key})} returns.
Overall, the key-value pairs passed to @var{function} describe all the
values stored in @var{char-table}.
-The return value is always @code{nil}; to make this function useful,
-@var{function} should have side effects. For example,
-here is how to examine each element of the syntax table:
+The return value is always @code{nil}; to make calls to
+@code{map-char-table} useful, @var{function} should have side effects.
+For example, here is how to examine the elements of the syntax table:
@example
(let (accumulator)
- (map-char-table
- #'(lambda (key value)
- (setq accumulator
- (cons (list key value) accumulator)))
- (syntax-table))
- accumulator)
+ (map-char-table
+ #'(lambda (key value)
+ (setq accumulator
+ (cons (list
+ (if (consp key)
+ (list (car key) (cdr key))
+ key)
+ value)
+ accumulator)))
+ (syntax-table))
+ accumulator)
@result{}
-((475008 nil) (474880 nil) (474752 nil) (474624 nil)
- ... (5 (3)) (4 (3)) (3 (3)) (2 (3)) (1 (3)) (0 (3)))
+(((2597602 4194303) (2)) ((2597523 2597601) (3))
+ ... (65379 (5 . 65378)) (65378 (4 . 65379)) (65377 (1))
+ ... (12 (0)) (11 (3)) (10 (12)) (9 (0)) ((0 8) (3)))
@end example
@end defun