# HG changeset patch # User Eli Zaretskii # Date 1223984356 0 # Node ID 92d4fd43578cc6f8e89e7a435c8a741c2d5266a4 # Parent e96bc3be41f0029cd3540028df6d214d2ab2f44c (Char-Tables): `map-char-table' can now call its argument FUNCTION with a cons cell as KEY. diff -r e96bc3be41f0 -r 92d4fd43578c doc/lispref/sequences.texi --- a/doc/lispref/sequences.texi Tue Oct 14 09:24:05 2008 +0000 +++ b/doc/lispref/sequences.texi Tue Oct 14 11:39:16 2008 +0000 @@ -658,30 +658,38 @@ @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