1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-06 05:52:32 -08:00

(read1): Adjusted for the new structure of Lisp_Char_Table.

This commit is contained in:
Kenichi Handa 1997-04-07 07:12:13 +00:00
parent ed8ec86d08
commit 3701b5de07
2 changed files with 19 additions and 0 deletions

View file

@ -1336,8 +1336,25 @@ read1 (readcharfun, pch, first_in_list)
|| XVECTOR (tmp)->size > CHAR_TABLE_STANDARD_SLOTS + 10)
error ("Invalid size char-table");
XSETCHAR_TABLE (tmp, XCHAR_TABLE (tmp));
XCHAR_TABLE (tmp)->top = Qt;
return tmp;
}
else if (c == '^')
{
c = READCHAR;
if (c == '[')
{
Lisp_Object tmp;
tmp = read_vector (readcharfun);
if (XVECTOR (tmp)->size != SUB_CHAR_TABLE_STANDARD_SLOTS)
error ("Invalid size char-table");
XSETCHAR_TABLE (tmp, XCHAR_TABLE (tmp));
XCHAR_TABLE (tmp)->top = Qnil;
return tmp;
}
Fsignal (Qinvalid_read_syntax,
Fcons (make_string ("#^^", 3), Qnil));
}
Fsignal (Qinvalid_read_syntax, Fcons (make_string ("#^", 2), Qnil));
}
if (c == '&')

View file

@ -1258,6 +1258,8 @@ print (obj, printcharfun, escapeflag)
character slots. But we add #^ as a prefix. */
PRINTCHAR ('#');
PRINTCHAR ('^');
if (SUB_CHAR_TABLE_P (obj))
PRINTCHAR ('^');
size &= PSEUDOVECTOR_SIZE_MASK;
}
if (size & PSEUDOVECTOR_FLAG)