# HG changeset patch # User Kenichi Handa # Date 1027656329 0 # Node ID d6c50ac00394217e0ef0294fa8b542547a59d41a # Parent 9bc86c0d4a679dedfadd7c60304c3dbbc99fbd81 (Fmake_char_table): Doc fixed. If PURPOSE doesn't have property char-table-extra-slots, make no extra slot. diff -r 9bc86c0d4a67 -r d6c50ac00394 src/chartab.c --- a/src/chartab.c Fri Jul 26 04:05:16 2002 +0000 +++ b/src/chartab.c Fri Jul 26 04:05:29 2002 +0000 @@ -56,32 +56,31 @@ DEFUN ("make-char-table", Fmake_char_table, Smake_char_table, 1, 2, 0, - doc: /* Return a newly created char-table. + doc: /* Return a newly created char-table, with purpose PURPOSE. Each element is initialized to INIT, which defaults to nil. -Optional second argument PURPOSE, if non-nil, should be a symbol -which has a `char-table-extra-slots' property. -The property's value should be an integer between 0 and 10 -that specify how many extra slots the char-table has. -By default, the char-table has no extra slot. */) +PURPOSE should be a symbol. If it has a `char-table-extra-slots' +property, the property's value should be an integer between 0 and 10 +that specifies how many extra slots the char-table has. Otherwise, +the char-table has no extra slot. */) (purpose, init) register Lisp_Object purpose, init; { Lisp_Object vector; Lisp_Object n; - int n_extras = 0; + int n_extras; int size; CHECK_SYMBOL (purpose); - if (! NILP (purpose)) + n = Fget (purpose, Qchar_table_extra_slots); + if (NILP (n)) + n_extras = 0; + else { - n = Fget (purpose, Qchar_table_extra_slots); - if (INTEGERP (n)) - { - if (XINT (n) < 0 || XINT (n) > 10) - args_out_of_range (n, Qnil); - n_extras = XINT (n); - } + CHECK_NATNUM (n); + n_extras = XINT (n); + if (n_extras > 10) + args_out_of_range (n, Qnil); } size = VECSIZE (struct Lisp_Char_Table) - 1 + n_extras;