Mercurial > emacs
diff src/lread.c @ 17325:c19c552c486f
(read1): Adjusted for the new structure of Lisp_Char_Table.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Mon, 07 Apr 1997 07:12:13 +0000 |
parents | 4a6c43010388 |
children | 83850481ae70 |
line wrap: on
line diff
--- a/src/lread.c Mon Apr 07 07:12:13 1997 +0000 +++ b/src/lread.c Mon Apr 07 07:12:13 1997 +0000 @@ -1336,8 +1336,25 @@ || 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 == '&')