comparison 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
comparison
equal deleted inserted replaced
17324:ed53084a1655 17325:c19c552c486f
1334 tmp = read_vector (readcharfun); 1334 tmp = read_vector (readcharfun);
1335 if (XVECTOR (tmp)->size < CHAR_TABLE_STANDARD_SLOTS 1335 if (XVECTOR (tmp)->size < CHAR_TABLE_STANDARD_SLOTS
1336 || XVECTOR (tmp)->size > CHAR_TABLE_STANDARD_SLOTS + 10) 1336 || XVECTOR (tmp)->size > CHAR_TABLE_STANDARD_SLOTS + 10)
1337 error ("Invalid size char-table"); 1337 error ("Invalid size char-table");
1338 XSETCHAR_TABLE (tmp, XCHAR_TABLE (tmp)); 1338 XSETCHAR_TABLE (tmp, XCHAR_TABLE (tmp));
1339 XCHAR_TABLE (tmp)->top = Qt;
1339 return tmp; 1340 return tmp;
1341 }
1342 else if (c == '^')
1343 {
1344 c = READCHAR;
1345 if (c == '[')
1346 {
1347 Lisp_Object tmp;
1348 tmp = read_vector (readcharfun);
1349 if (XVECTOR (tmp)->size != SUB_CHAR_TABLE_STANDARD_SLOTS)
1350 error ("Invalid size char-table");
1351 XSETCHAR_TABLE (tmp, XCHAR_TABLE (tmp));
1352 XCHAR_TABLE (tmp)->top = Qnil;
1353 return tmp;
1354 }
1355 Fsignal (Qinvalid_read_syntax,
1356 Fcons (make_string ("#^^", 3), Qnil));
1340 } 1357 }
1341 Fsignal (Qinvalid_read_syntax, Fcons (make_string ("#^", 2), Qnil)); 1358 Fsignal (Qinvalid_read_syntax, Fcons (make_string ("#^", 2), Qnil));
1342 } 1359 }
1343 if (c == '&') 1360 if (c == '&')
1344 { 1361 {