1048 |
collect name)) |
collect name)) |
1049 |
nil) |
nil) |
1050 |
|
|
1051 |
|
(deftest special-operator-p.order.1 |
1052 |
|
(let ((i 0)) |
1053 |
|
(values (notnot (special-operator-p (progn (incf i) 'catch))) |
1054 |
|
i)) |
1055 |
|
t 1) |
1056 |
|
|
1057 |
(deftest special-operator-p.error.1 |
(deftest special-operator-p.error.1 |
1058 |
(classify-error (special-operator-p 1)) |
(classify-error (special-operator-p 1)) |
1059 |
type-error) |
type-error) |
1069 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1070 |
;;; keywordp |
;;; keywordp |
1071 |
|
|
1072 |
(deftest keywordp-1 (keywordp 'hefalump) nil) |
(deftest keywordp.1 (keywordp 'hefalump) nil) |
1073 |
(deftest keywordp-2 (keywordp 17) nil) |
(deftest keywordp.2 (keywordp 17) nil) |
1074 |
(deftest keywordp-3 (notnot-mv (keywordp :stream)) t) |
(deftest keywordp.3 (notnot-mv (keywordp :stream)) t) |
1075 |
(deftest keywordp-4 (notnot-mv (keywordp ':stream)) t) |
(deftest keywordp.4 (notnot-mv (keywordp ':stream)) t) |
1076 |
(deftest keywordp-5 (keywordp nil) nil) |
(deftest keywordp.5 (keywordp nil) nil) |
1077 |
(deftest keywordp-6 (notnot-mv (keywordp :nil)) t) |
(deftest keywordp.6 (notnot-mv (keywordp :nil)) t) |
1078 |
(deftest keywordp-7 (keywordp '(:stream)) nil) |
(deftest keywordp.7 (keywordp '(:stream)) nil) |
1079 |
(deftest keywordp-8 (keywordp "rest") nil) |
(deftest keywordp.8 (keywordp "rest") nil) |
1080 |
(deftest keywordp-9 (keywordp ":rest") nil) |
(deftest keywordp.9 (keywordp ":rest") nil) |
1081 |
(deftest keywordp-10 (keywordp '&body) nil) |
(deftest keywordp.10 (keywordp '&body) nil) |
1082 |
;;; This next test was busted. ::foo is not portable syntax |
;;; This next test was busted. ::foo is not portable syntax |
1083 |
;;(deftest keywordp-11 (notnot-mv (keywordp ::foo)) t) |
;;(deftest keywordp.11 (notnot-mv (keywordp ::foo)) t) |
1084 |
(deftest keywordp-12 (keywordp t) nil) |
(deftest keywordp.12 (keywordp t) nil) |
1085 |
(deftest keywordp-13 (classify-error (keywordp)) program-error) |
|
1086 |
(deftest keywordp-14 (classify-error (keywordp :x :x)) program-error) |
(deftest keywordp.order.1 |
1087 |
|
(let ((i 0)) |
1088 |
|
(values (keywordp (progn (incf i) nil)) i)) |
1089 |
|
nil 1) |
1090 |
|
|
1091 |
|
(deftest keywordp.error.1 (classify-error (keywordp)) program-error) |
1092 |
|
(deftest keywordp.error.2 (classify-error (keywordp :x :x)) program-error) |
1093 |
|
|
1094 |
|
(deftest keywordp.error.3 |
1095 |
|
(classify-error (keywordp)) |
1096 |
|
program-error) |
1097 |
|
|
1098 |
|
(deftest keywordp.error.4 |
1099 |
|
(classify-error (keywordp nil nil)) |
1100 |
|
program-error) |
1101 |
|
|
1102 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1103 |
;;; symbol-name |
;;; symbol-name |
1104 |
|
|
1105 |
(deftest symbol-name-1 |
(deftest symbol-name.1 |
1106 |
(safe-symbol-name '|ABCD|) |
(safe-symbol-name '|ABCD|) |
1107 |
"ABCD") |
"ABCD") |
1108 |
|
|
1109 |
(deftest symbol-name-2 |
(deftest symbol-name.2 |
1110 |
(safe-symbol-name '|1234abcdABCD|) |
(safe-symbol-name '|1234abcdABCD|) |
1111 |
"1234abcdABCD") |
"1234abcdABCD") |
1112 |
|
|
1113 |
(deftest symbol-name-3 |
(deftest symbol-name.3 |
1114 |
(safe-symbol-name 1) |
(safe-symbol-name 1) |
1115 |
type-error) |
type-error) |
1116 |
|
|
1117 |
(deftest symbol-name-4 |
(deftest symbol-name.4 |
1118 |
(safe-symbol-name '(a)) |
(safe-symbol-name '(a)) |
1119 |
type-error) |
type-error) |
1120 |
|
|
1121 |
(deftest symbol-name-5 |
(deftest symbol-name.5 |
1122 |
(safe-symbol-name "ABCDE") |
(safe-symbol-name "ABCDE") |
1123 |
type-error) |
type-error) |
1124 |
|
|
1125 |
(deftest symbol-name-6 |
(deftest symbol-name.6 |
1126 |
(safe-symbol-name 12913.0213) |
(safe-symbol-name 12913.0213) |
1127 |
type-error) |
type-error) |
1128 |
|
|
1129 |
(deftest symbol-name-7 |
(deftest symbol-name.7 |
1130 |
(symbol-name :|abcdefg|) |
(symbol-name :|abcdefg|) |
1131 |
"abcdefg") |
"abcdefg") |
1132 |
|
|
1133 |
(deftest symbol-name-8 |
(deftest symbol-name.error.1 |
1134 |
(classify-error (symbol-name)) |
(classify-error (symbol-name)) |
1135 |
program-error) |
program-error) |
1136 |
|
|
1137 |
(deftest symbol-name-9 |
(deftest symbol-name.error.2 |
1138 |
(classify-error (symbol-name 'a 'b)) |
(classify-error (symbol-name 'a 'b)) |
1139 |
program-error) |
program-error) |
1140 |
|
|
1141 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1142 |
;;; make-symbol |
;;; make-symbol |
1143 |
|
|
1144 |
(deftest make-symbol-1 |
(deftest make-symbol.1 |
1145 |
(notnot-mv (symbolp (make-symbol "FOO"))) |
(notnot-mv (symbolp (make-symbol "FOO"))) |
1146 |
t) |
t) |
1147 |
|
|
1148 |
(deftest make-symbol-2 |
(deftest make-symbol.2 |
1149 |
(symbol-package (make-symbol "BAR")) |
(symbol-package (make-symbol "BAR")) |
1150 |
nil) |
nil) |
1151 |
|
|
1152 |
(deftest make-symbol-3 |
(deftest make-symbol.3 |
1153 |
(symbol-package (make-symbol "CL::FOO")) |
(symbol-package (make-symbol "CL::FOO")) |
1154 |
nil) |
nil) |
1155 |
|
|
1156 |
(deftest make-symbol-4 |
(deftest make-symbol.4 |
1157 |
(symbol-package (make-symbol "CL:FOO")) |
(symbol-package (make-symbol "CL:FOO")) |
1158 |
nil) |
nil) |
1159 |
|
|
1160 |
(deftest make-symbol-5 |
(deftest make-symbol.5 |
1161 |
(symbol-name (make-symbol "xyz")) |
(symbol-name (make-symbol "xyz")) |
1162 |
"xyz") |
"xyz") |
1163 |
|
|
1164 |
(deftest make-symbol-6 |
(deftest make-symbol.6 |
1165 |
(eqt (make-symbol "A") |
(eqt (make-symbol "A") |
1166 |
(make-symbol "A")) |
(make-symbol "A")) |
1167 |
nil) |
nil) |
1168 |
|
|
1169 |
(deftest make-symbol-7 |
(deftest make-symbol.7 |
1170 |
(boundp (make-symbol "B")) |
(boundp (make-symbol "B")) |
1171 |
nil) |
nil) |
1172 |
|
|
1173 |
(deftest make-symbol-8 |
(deftest make-symbol.8 |
1174 |
(symbol-plist (make-symbol "C")) |
(symbol-plist (make-symbol "C")) |
1175 |
nil) |
nil) |
1176 |
|
|
1177 |
(deftest make-symbol-9 |
(deftest make-symbol.9 |
1178 |
|
(fboundp (make-symbol "D")) |
1179 |
|
nil) |
1180 |
|
|
1181 |
|
(deftest make-symbol.10 |
1182 |
|
(symbol-name (safe-make-symbol "")) |
1183 |
|
"") |
1184 |
|
|
1185 |
|
(deftest make-symbol.order.1 |
1186 |
|
(let ((i 0)) |
1187 |
|
(values |
1188 |
|
(symbol-name (make-symbol (progn (incf i) "ABC"))) |
1189 |
|
i)) |
1190 |
|
"ABC" 1) |
1191 |
|
|
1192 |
|
(deftest make-symbol.error.1 |
1193 |
(safe-make-symbol nil) |
(safe-make-symbol nil) |
1194 |
type-error) |
type-error) |
1195 |
|
|
1196 |
(deftest make-symbol-10 |
(deftest make-symbol.error.2 |
1197 |
(safe-make-symbol 'a) |
(safe-make-symbol 'a) |
1198 |
type-error) |
type-error) |
1199 |
|
|
1200 |
(deftest make-symbol-11 |
(deftest make-symbol.error.3 |
1201 |
(safe-make-symbol 1) |
(safe-make-symbol 1) |
1202 |
type-error) |
type-error) |
1203 |
|
|
1204 |
(deftest make-symbol-12 |
(deftest make-symbol.error.4 |
1205 |
(safe-make-symbol -1) |
(safe-make-symbol -1) |
1206 |
type-error) |
type-error) |
1207 |
|
|
1208 |
(deftest make-symbol-13 |
(deftest make-symbol.error.5 |
1209 |
(safe-make-symbol 1.213) |
(safe-make-symbol 1.213) |
1210 |
type-error) |
type-error) |
1211 |
|
|
1212 |
(deftest make-symbol-14 |
(deftest make-symbol.error.6 |
1213 |
(safe-make-symbol -1312.2) |
(safe-make-symbol -1312.2) |
1214 |
type-error) |
type-error) |
1215 |
|
|
1216 |
(deftest make-symbol-15 |
(deftest make-symbol.error.7 |
1217 |
(safe-make-symbol #\w) |
(safe-make-symbol #\w) |
1218 |
type-error) |
type-error) |
1219 |
|
|
1220 |
(deftest make-symbol-16 |
(deftest make-symbol.error.8 |
1221 |
(safe-make-symbol '(a)) |
(safe-make-symbol '(a)) |
1222 |
type-error) |
type-error) |
1223 |
|
|
1224 |
(deftest make-symbol-17 |
(deftest make-symbol.error.9 |
|
(fboundp (make-symbol "D")) |
|
|
nil) |
|
|
|
|
|
(deftest make-symbol-18 |
|
|
(symbol-name (safe-make-symbol "")) |
|
|
"") |
|
|
|
|
|
(deftest make-symbol-19 |
|
1225 |
(classify-error (make-symbol)) |
(classify-error (make-symbol)) |
1226 |
program-error) |
program-error) |
1227 |
|
|
1228 |
(deftest make-symbol-20 |
(deftest make-symbol.error.10 |
1229 |
(classify-error (make-symbol "a" "a")) |
(classify-error (make-symbol "a" "a")) |
1230 |
program-error) |
program-error) |
1231 |
|
|
1323 |
;;; gensym |
;;; gensym |
1324 |
|
|
1325 |
;;; Gensym returns unique symbols |
;;; Gensym returns unique symbols |
1326 |
(deftest gensym-1 |
(deftest gensym.1 |
1327 |
(equal (gensym) (gensym)) |
(equal (gensym) (gensym)) |
1328 |
nil) |
nil) |
1329 |
|
|
1330 |
;;; Gensym returns symbols with distinct print names |
;;; Gensym returns symbols with distinct print names |
1331 |
(deftest gensym-2 |
(deftest gensym.2 |
1332 |
(string= (symbol-name (gensym)) |
(string= (symbol-name (gensym)) |
1333 |
(symbol-name (gensym))) |
(symbol-name (gensym))) |
1334 |
nil) |
nil) |
1335 |
|
|
1336 |
;;; Gensym uses the *gensym-counter* special variable, |
;;; Gensym uses the *gensym-counter* special variable, |
1337 |
;;; but does not increment it until after the symbol |
;;; but does not increment it until after the symbol |
1338 |
;;; has been created. |
;;; has been created. |
1339 |
(deftest gensym-3 |
(deftest gensym.3 |
1340 |
(let ((*gensym-counter* 1)) |
(let ((*gensym-counter* 1)) |
1341 |
(declare (special *gensym-counter*)) |
(declare (special *gensym-counter*)) |
1342 |
(symbol-name (gensym))) |
(symbol-name (gensym))) |
1343 |
"G1") |
"G1") |
1344 |
|
|
1345 |
;;; Gensym uses the string argument instead of the default |
;;; Gensym uses the string argument instead of the default |
1346 |
(deftest gensym-4 |
(deftest gensym.4 |
1347 |
(let ((*gensym-counter* 1327)) |
(let ((*gensym-counter* 1327)) |
1348 |
(declare (special *gensym-counter*)) |
(declare (special *gensym-counter*)) |
1349 |
(symbol-name (gensym "FOO"))) |
(symbol-name (gensym "FOO"))) |
1350 |
"FOO1327") |
"FOO1327") |
1351 |
|
|
1352 |
;;; The symbol returned by gensym should be unbound |
;;; The symbol returned by gensym should be unbound |
1353 |
(deftest gensym-5 |
(deftest gensym.5 |
1354 |
(boundp (gensym)) |
(boundp (gensym)) |
1355 |
nil) |
nil) |
1356 |
|
|
1357 |
;;; The symbol returned by gensym should have no function binding |
;;; The symbol returned by gensym should have no function binding |
1358 |
(deftest gensym-6 |
(deftest gensym.6 |
1359 |
(fboundp (gensym)) |
(fboundp (gensym)) |
1360 |
nil) |
nil) |
1361 |
|
|
1362 |
;;; The symbol returned by gensym should have no property list |
;;; The symbol returned by gensym should have no property list |
1363 |
(deftest gensym-7 |
(deftest gensym.7 |
1364 |
(symbol-plist (gensym)) |
(symbol-plist (gensym)) |
1365 |
nil) |
nil) |
1366 |
|
|
1367 |
;;; The symbol returned by gensym should be uninterned |
;;; The symbol returned by gensym should be uninterned |
1368 |
(deftest gensym-8 |
(deftest gensym.8 |
1369 |
(symbol-package (gensym)) |
(symbol-package (gensym)) |
1370 |
nil) |
nil) |
1371 |
|
|
1372 |
;;; *gensym-counter* is incremented by gensym |
;;; *gensym-counter* is incremented by gensym |
1373 |
(deftest gensym-9 |
(deftest gensym.9 |
1374 |
(let ((*gensym-counter* 12345)) |
(let ((*gensym-counter* 12345)) |
1375 |
(declare (special *gensym-counter*)) |
(declare (special *gensym-counter*)) |
1376 |
(gensym) |
(gensym) |
1380 |
;;; Gensym works when *gensym-counter* is Really Big |
;;; Gensym works when *gensym-counter* is Really Big |
1381 |
;;; (and does not increment the counter until after creating |
;;; (and does not increment the counter until after creating |
1382 |
;;; the symbol.) |
;;; the symbol.) |
1383 |
(deftest gensym-10 |
(deftest gensym.10 |
1384 |
(let ((*gensym-counter* 1234567890123456789012345678901234567890)) |
(let ((*gensym-counter* 1234567890123456789012345678901234567890)) |
1385 |
(declare (special *gensym-counter*)) |
(declare (special *gensym-counter*)) |
1386 |
(symbol-name (gensym))) |
(symbol-name (gensym))) |
1387 |
"G1234567890123456789012345678901234567890") |
"G1234567890123456789012345678901234567890") |
1388 |
|
|
1389 |
;;; gensym increments Really Big values of *gensym-counter* |
;;; gensym increments Really Big values of *gensym-counter* |
1390 |
(deftest gensym-11 |
(deftest gensym.11 |
1391 |
(let ((*gensym-counter* 12345678901234567890123456789012345678901234567890)) |
(let ((*gensym-counter* 12345678901234567890123456789012345678901234567890)) |
1392 |
(declare (special *gensym-counter*)) |
(declare (special *gensym-counter*)) |
1393 |
(gensym) |
(gensym) |
1395 |
12345678901234567890123456789012345678901234567891) |
12345678901234567890123456789012345678901234567891) |
1396 |
|
|
1397 |
;;; Gensym uses an integer argument instead of the counter |
;;; Gensym uses an integer argument instead of the counter |
1398 |
(deftest gensym-12 |
(deftest gensym.12 |
1399 |
(let ((*gensym-counter* 10)) |
(let ((*gensym-counter* 10)) |
1400 |
(declare (special *gensym-counter*)) |
(declare (special *gensym-counter*)) |
1401 |
(symbol-name (gensym 123))) |
(symbol-name (gensym 123))) |
1403 |
|
|
1404 |
;;; When given an integer argument, gensym does not increment the |
;;; When given an integer argument, gensym does not increment the |
1405 |
;;; *gensym-counter* |
;;; *gensym-counter* |
1406 |
(deftest gensym-13 |
(deftest gensym.13 |
1407 |
(let ((*gensym-counter* 10)) |
(let ((*gensym-counter* 10)) |
1408 |
(declare (special *gensym-counter*)) |
(declare (special *gensym-counter*)) |
1409 |
(gensym 123) |
(gensym 123) |
1550 |
(classify-error (symbolp nil nil)) |
(classify-error (symbolp nil nil)) |
1551 |
program-error) |
program-error) |
1552 |
|
|
|
(deftest keywordp.error.1 |
|
|
(classify-error (keywordp)) |
|
|
program-error) |
|
|
|
|
|
(deftest keywordp.error.2 |
|
|
(classify-error (keywordp nil nil)) |
|
|
program-error) |
|
|
|
|
1553 |
(deftest symbol-function.error.1 |
(deftest symbol-function.error.1 |
1554 |
(classify-error (symbol-function)) |
(classify-error (symbol-function)) |
1555 |
program-error) |
program-error) |
1558 |
(classify-error (symbol-function 'cons nil)) |
(classify-error (symbol-function 'cons nil)) |
1559 |
program-error) |
program-error) |
1560 |
|
|
|
(deftest symbol-name.error.1 |
|
|
(classify-error (symbol-name)) |
|
|
program-error) |
|
|
|
|
|
(deftest symbol-name.error.2 |
|
|
(classify-error (symbol-name 'cons nil)) |
|
|
program-error) |
|
|
|
|
1561 |
(deftest symbol-package.error.1 |
(deftest symbol-package.error.1 |
1562 |
(classify-error (symbol-package)) |
(classify-error (symbol-package)) |
1563 |
program-error) |
program-error) |