# HG changeset patch # User Kenichi Handa # Date 1096852742 0 # Node ID d13df8a735d78a50cb227f5381cb28862490e705 # Parent 58db929d96c6cd1b204a423318f9354e6e753697 (read1): Fix reading of a char-table. diff -r 58db929d96c6 -r d13df8a735d7 src/lread.c --- a/src/lread.c Mon Oct 04 01:04:18 2004 +0000 +++ b/src/lread.c Mon Oct 04 01:19:02 2004 +0000 @@ -2084,7 +2084,7 @@ { Lisp_Object tmp; tmp = read_vector (readcharfun, 0); - if (XVECTOR (tmp)->size != VECSIZE (struct Lisp_Char_Table)) + if (XVECTOR (tmp)->size < VECSIZE (struct Lisp_Char_Table)) error ("Invalid size char-table"); XSETCHAR_TABLE (tmp, XCHAR_TABLE (tmp)); return tmp; @@ -2103,7 +2103,7 @@ depth = XINT (AREF (tmp, 0)); if (depth < 1 || depth > 3) error ("Invalid depth in char-table"); - size = XVECTOR (tmp)->size + 2; + size = XVECTOR (tmp)->size - 2; if (chartab_size [depth] != size) error ("Invalid size char-table"); XSETSUB_CHAR_TABLE (tmp, XSUB_CHAR_TABLE (tmp));