aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa1997-04-07 07:12:13 +0000
committerKenichi Handa1997-04-07 07:12:13 +0000
commit3701b5de07a2998b089ef9e4f65bebedbb554039 (patch)
tree39f1fc64eed0169aed1249fb61d2aa6babeaa3ab
parented8ec86d08a6f2b656e67493003aa4624f868299 (diff)
downloademacs-3701b5de07a2998b089ef9e4f65bebedbb554039.tar.gz
emacs-3701b5de07a2998b089ef9e4f65bebedbb554039.zip
(read1): Adjusted for the new structure of Lisp_Char_Table.
-rw-r--r--src/lread.c17
-rw-r--r--src/print.c2
2 files changed, 19 insertions, 0 deletions
diff --git a/src/lread.c b/src/lread.c
index 882b09bf5a3..5b4cd3e748f 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -1336,8 +1336,25 @@ read1 (readcharfun, pch, first_in_list)
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;
1340 } 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));
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 == '&')
diff --git a/src/print.c b/src/print.c
index 57f6ffdf826..8a218e88105 100644
--- a/src/print.c
+++ b/src/print.c
@@ -1258,6 +1258,8 @@ print (obj, printcharfun, escapeflag)
1258 character slots. But we add #^ as a prefix. */ 1258 character slots. But we add #^ as a prefix. */
1259 PRINTCHAR ('#'); 1259 PRINTCHAR ('#');
1260 PRINTCHAR ('^'); 1260 PRINTCHAR ('^');
1261 if (SUB_CHAR_TABLE_P (obj))
1262 PRINTCHAR ('^');
1261 size &= PSEUDOVECTOR_SIZE_MASK; 1263 size &= PSEUDOVECTOR_SIZE_MASK;
1262 } 1264 }
1263 if (size & PSEUDOVECTOR_FLAG) 1265 if (size & PSEUDOVECTOR_FLAG)