2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
+ * lread.c (read1): Set pvectype for char_tables.
+
* lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
(XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
Add type checks.
if (XVECTOR (tmp)->size < CHAR_TABLE_STANDARD_SLOTS
|| XVECTOR (tmp)->size > CHAR_TABLE_STANDARD_SLOTS + 10)
error ("Invalid size char-table");
- XSETCHAR_TABLE (tmp, XCHAR_TABLE (tmp));
+ XSETPVECTYPE (XVECTOR (tmp), PVEC_CHAR_TABLE);
XCHAR_TABLE (tmp)->top = Qt;
return tmp;
}
tmp = read_vector (readcharfun, 0);
if (XVECTOR (tmp)->size != SUB_CHAR_TABLE_STANDARD_SLOTS)
error ("Invalid size char-table");
- XSETCHAR_TABLE (tmp, XCHAR_TABLE (tmp));
+ XSETPVECTYPE (XVECTOR (tmp), PVEC_CHAR_TABLE);
XCHAR_TABLE (tmp)->top = Qnil;
return tmp;
}