# HG changeset patch # User Kenichi Handa # Date 1041859564 0 # Node ID 0b3ed65e4e971337ba896f6b993af98fa263c5e7 # Parent bbd8c0d60afb4440d9c3f2197d194889e6f8a350 (char_table_ascii): Check if the char table contents is sub-char-table or not. (char_table_set): Fix argument to char_table_ascii. (char_table_set_range): Likewise. diff -r bbd8c0d60afb -r 0b3ed65e4e97 src/chartab.c --- a/src/chartab.c Mon Jan 06 13:25:48 2003 +0000 +++ b/src/chartab.c Mon Jan 06 13:26:04 2003 +0000 @@ -114,7 +114,11 @@ Lisp_Object sub; sub = XCHAR_TABLE (table)->contents[0]; + if (! SUB_CHAR_TABLE_P (sub)) + return sub; sub = XSUB_CHAR_TABLE (sub)->contents[0]; + if (! SUB_CHAR_TABLE_P (sub)) + return sub; return XSUB_CHAR_TABLE (sub)->contents[0]; } @@ -415,7 +419,7 @@ } sub_char_table_set (sub, c, val); if (ASCII_CHAR_P (c)) - tbl->ascii = char_table_ascii (tbl); + tbl->ascii = char_table_ascii (table); } return val; } @@ -472,7 +476,7 @@ i++, min_char += chartab_chars[0]) sub_char_table_set_range (contents + i, 0, min_char, from, to, val); if (ASCII_CHAR_P (from)) - tbl->ascii = char_table_ascii (tbl); + tbl->ascii = char_table_ascii (table); } return val; }