Mercurial > emacs
changeset 18000:2873e0dabbc1
(map_char_table): For sub char-table, index should be
start from 0 (not from 32) considering a composite character.
(Fmap_char_table): Doc-string adjusted. The variable indices is
declared as an array of Lisp_Object.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Wed, 28 May 1997 04:36:22 +0000 |
parents | 5e325c8057c8 |
children | 9846609c4fd5 |
files | src/fns.c |
diffstat | 1 files changed, 8 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/fns.c Wed May 28 04:36:21 1997 +0000 +++ b/src/fns.c Wed May 28 04:36:22 1997 +0000 @@ -1439,11 +1439,11 @@ } else { - i = 32; + i = 0; to = SUB_CHAR_TABLE_ORDINARY_SLOTS; } - for (i; i < to; i++) + for (; i < to; i++) { Lisp_Object elt = XCHAR_TABLE (subtable)->contents[i]; @@ -1453,8 +1453,7 @@ { if (depth >= 3) error ("Too deep char table"); - map_char_table (c_function, function, elt, arg, - depth + 1, indices); + map_char_table (c_function, function, elt, arg, depth + 1, indices); } else { @@ -1476,15 +1475,16 @@ DEFUN ("map-char-table", Fmap_char_table, Smap_char_table, 2, 2, 0, - "Call FUNCTION for each range of like characters in CHAR-TABLE.\n\ + "Call FUNCTION for each (normal and generic) characters in CHAR-TABLE.\n\ FUNCTION is called with two arguments--a key and a value.\n\ -The key is always a possible RANGE argument to `set-char-table-range'.") +The key is always a possible IDX argument to `aref'.") (function, char_table) Lisp_Object function, char_table; { - Lisp_Object keyvec; /* The depth of char table is at most 3. */ - Lisp_Object *indices = (Lisp_Object *) alloca (3 * sizeof (Lisp_Object)); + Lisp_Object indices[3]; + + CHECK_CHAR_TABLE (char_table, 1); map_char_table (NULL, function, char_table, char_table, 0, indices); return Qnil;