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:
parent
ed8ec86d08
commit
3701b5de07
2 changed files with 19 additions and 0 deletions
17
src/lread.c
17
src/lread.c
|
|
@ -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 == '&')
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue