commit 4c710d61a8063012a74d0f894696054a57e7fe60
parent 9ff41ffbecd0c038a5d603eb1d6654053de2f56b
Author: Alexander Burger <abu@software-lab.de>
Date: Mon, 12 Mar 2012 08:59:19 +0100
Volatile 'NIL' property
Diffstat:
9 files changed, 239 insertions(+), 212 deletions(-)
diff --git a/CHANGES b/CHANGES
@@ -1,4 +1,5 @@
* XXmmm12 picoLisp-3.0.10
+ Volatile 'NIL' property
Bug in 'fold' (64-bit)
Bug in 'db' for partial '+Aux' access
Bug in 'interface' (Ersatz)
diff --git a/lib/map b/lib/map
@@ -1,5 +1,5 @@
-! (2845 . "@src64/flow.l")
-$ (2947 . "@src64/flow.l")
+! (2848 . "@src64/flow.l")
+$ (2950 . "@src64/flow.l")
% (2572 . "@src64/big.l")
& (2807 . "@src64/big.l")
* (2389 . "@src64/big.l")
@@ -8,15 +8,15 @@ $ (2947 . "@src64/flow.l")
- (2209 . "@src64/big.l")
-> (3913 . "@src64/subr.l")
/ (2513 . "@src64/big.l")
-: (3034 . "@src64/sym.l")
-:: (3058 . "@src64/sym.l")
-; (2956 . "@src64/sym.l")
+: (3040 . "@src64/sym.l")
+:: (3064 . "@src64/sym.l")
+; (2959 . "@src64/sym.l")
< (2207 . "@src64/subr.l")
<= (2237 . "@src64/subr.l")
<> (2144 . "@src64/subr.l")
= (2115 . "@src64/subr.l")
=0 (2173 . "@src64/subr.l")
-=: (2985 . "@src64/sym.l")
+=: (2988 . "@src64/sym.l")
== (2059 . "@src64/subr.l")
==== (1082 . "@src64/sym.l")
=T (2181 . "@src64/subr.l")
@@ -28,7 +28,7 @@ accept (145 . "@src64/net.l")
adr (594 . "@src64/main.l")
alarm (471 . "@src64/main.l")
all (780 . "@src64/sym.l")
-and (1610 . "@src64/flow.l")
+and (1613 . "@src64/flow.l")
any (3965 . "@src64/io.l")
append (1338 . "@src64/subr.l")
apply (713 . "@src64/apply.l")
@@ -38,15 +38,15 @@ argv (2933 . "@src64/main.l")
as (139 . "@src64/flow.l")
asoq (3005 . "@src64/subr.l")
assoc (2970 . "@src64/subr.l")
-at (2095 . "@src64/flow.l")
+at (2098 . "@src64/flow.l")
atom (2385 . "@src64/subr.l")
-bind (1348 . "@src64/flow.l")
+bind (1351 . "@src64/flow.l")
bit? (2748 . "@src64/big.l")
-bool (1710 . "@src64/flow.l")
-box (821 . "@src64/flow.l")
+bool (1713 . "@src64/flow.l")
+box (824 . "@src64/flow.l")
box? (1114 . "@src64/sym.l")
by (1669 . "@src64/apply.l")
-bye (3424 . "@src64/flow.l")
+bye (3427 . "@src64/flow.l")
caaaar (271 . "@src64/subr.l")
caaadr (288 . "@src64/subr.l")
caaar (99 . "@src64/subr.l")
@@ -61,10 +61,10 @@ caddar (409 . "@src64/subr.l")
cadddr (435 . "@src64/subr.l")
caddr (156 . "@src64/subr.l")
cadr (45 . "@src64/subr.l")
-call (3076 . "@src64/flow.l")
+call (3079 . "@src64/flow.l")
car (5 . "@src64/subr.l")
-case (1951 . "@src64/flow.l")
-catch (2453 . "@src64/flow.l")
+case (1954 . "@src64/flow.l")
+catch (2456 . "@src64/flow.l")
cd (2688 . "@src64/main.l")
cdaaar (464 . "@src64/subr.l")
cdaadr (487 . "@src64/subr.l")
@@ -90,11 +90,11 @@ clip (1799 . "@src64/subr.l")
close (4381 . "@src64/io.l")
cmd (2915 . "@src64/main.l")
cnt (1413 . "@src64/apply.l")
-co (2534 . "@src64/flow.l")
+co (2537 . "@src64/flow.l")
commit (1495 . "@src64/db.l")
con (725 . "@src64/subr.l")
conc (781 . "@src64/subr.l")
-cond (1905 . "@src64/flow.l")
+cond (1908 . "@src64/flow.l")
connect (224 . "@src64/net.l")
cons (747 . "@src64/subr.l")
copy (1225 . "@src64/subr.l")
@@ -102,8 +102,8 @@ ctl (4254 . "@src64/io.l")
ctty (2713 . "@src64/main.l")
cut (1911 . "@src64/sym.l")
date (2427 . "@src64/main.l")
-dbck (2104 . "@src64/db.l")
-de (529 . "@src64/flow.l")
+dbck (2110 . "@src64/db.l")
+de (532 . "@src64/flow.l")
dec (2323 . "@src64/big.l")
def (448 . "@src64/flow.l")
default (1775 . "@src64/sym.l")
@@ -112,9 +112,9 @@ delete (1401 . "@src64/subr.l")
delq (1452 . "@src64/subr.l")
diff (2589 . "@src64/subr.l")
dir (2846 . "@src64/main.l")
-dm (542 . "@src64/flow.l")
-do (2127 . "@src64/flow.l")
-e (2908 . "@src64/flow.l")
+dm (545 . "@src64/flow.l")
+do (2130 . "@src64/flow.l")
+e (2911 . "@src64/flow.l")
echo (4412 . "@src64/io.l")
env (606 . "@src64/main.l")
eof (3524 . "@src64/io.l")
@@ -125,32 +125,32 @@ eval (175 . "@src64/flow.l")
ext (5146 . "@src64/io.l")
ext? (1149 . "@src64/sym.l")
extern (1015 . "@src64/sym.l")
-extra (1255 . "@src64/flow.l")
+extra (1258 . "@src64/flow.l")
extract (1218 . "@src64/apply.l")
fifo (2077 . "@src64/sym.l")
file (2793 . "@src64/main.l")
fill (3240 . "@src64/subr.l")
filter (1161 . "@src64/apply.l")
fin (2033 . "@src64/subr.l")
-finally (2510 . "@src64/flow.l")
+finally (2513 . "@src64/flow.l")
find (1322 . "@src64/apply.l")
fish (1613 . "@src64/apply.l")
flg? (2445 . "@src64/subr.l")
flip (1699 . "@src64/subr.l")
flush (5121 . "@src64/io.l")
-fold (3489 . "@src64/sym.l")
-for (2216 . "@src64/flow.l")
-fork (3250 . "@src64/flow.l")
+fold (3495 . "@src64/sym.l")
+for (2219 . "@src64/flow.l")
+fork (3253 . "@src64/flow.l")
format (2089 . "@src64/big.l")
-free (2046 . "@src64/db.l")
+free (2052 . "@src64/db.l")
from (3543 . "@src64/io.l")
full (1075 . "@src64/subr.l")
fun? (742 . "@src64/sym.l")
gc (435 . "@src64/gc.l")
ge0 (2707 . "@src64/big.l")
-get (2880 . "@src64/sym.l")
+get (2883 . "@src64/sym.l")
getd (750 . "@src64/sym.l")
-getl (3178 . "@src64/sym.l")
+getl (3184 . "@src64/sym.l")
glue (1349 . "@src64/sym.l")
gt0 (2718 . "@src64/big.l")
hash (2976 . "@src64/big.l")
@@ -160,25 +160,25 @@ hear (3228 . "@src64/io.l")
host (190 . "@src64/net.l")
id (1025 . "@src64/db.l")
idx (2151 . "@src64/sym.l")
-if (1791 . "@src64/flow.l")
-if2 (1810 . "@src64/flow.l")
-ifn (1851 . "@src64/flow.l")
+if (1794 . "@src64/flow.l")
+if2 (1813 . "@src64/flow.l")
+ifn (1854 . "@src64/flow.l")
in (4194 . "@src64/io.l")
inc (2256 . "@src64/big.l")
index (2637 . "@src64/subr.l")
info (2750 . "@src64/main.l")
intern (990 . "@src64/sym.l")
-ipid (3195 . "@src64/flow.l")
-isa (958 . "@src64/flow.l")
-job (1415 . "@src64/flow.l")
+ipid (3198 . "@src64/flow.l")
+isa (961 . "@src64/flow.l")
+job (1418 . "@src64/flow.l")
journal (968 . "@src64/db.l")
key (3376 . "@src64/io.l")
-kill (3227 . "@src64/flow.l")
+kill (3230 . "@src64/flow.l")
last (2044 . "@src64/subr.l")
le0 (2693 . "@src64/big.l")
length (2741 . "@src64/subr.l")
-let (1465 . "@src64/flow.l")
-let? (1526 . "@src64/flow.l")
+let (1468 . "@src64/flow.l")
+let? (1529 . "@src64/flow.l")
lieu (1154 . "@src64/db.l")
line (3699 . "@src64/io.l")
lines (3852 . "@src64/io.l")
@@ -189,9 +189,9 @@ listen (157 . "@src64/net.l")
lit (150 . "@src64/flow.l")
load (4171 . "@src64/io.l")
lock (1182 . "@src64/db.l")
-loop (2159 . "@src64/flow.l")
-low? (3361 . "@src64/sym.l")
-lowc (3391 . "@src64/sym.l")
+loop (2162 . "@src64/flow.l")
+low? (3367 . "@src64/sym.l")
+lowc (3397 . "@src64/sym.l")
lst? (2415 . "@src64/subr.l")
lt0 (2682 . "@src64/big.l")
lup (2340 . "@src64/sym.l")
@@ -204,15 +204,15 @@ mapcar (987 . "@src64/apply.l")
mapcon (1041 . "@src64/apply.l")
maplist (933 . "@src64/apply.l")
maps (790 . "@src64/apply.l")
-mark (1964 . "@src64/db.l")
+mark (1970 . "@src64/db.l")
match (3125 . "@src64/subr.l")
max (2327 . "@src64/subr.l")
maxi (1511 . "@src64/apply.l")
member (2455 . "@src64/subr.l")
memq (2477 . "@src64/subr.l")
-meta (3281 . "@src64/sym.l")
-meth (1086 . "@src64/flow.l")
-method (1050 . "@src64/flow.l")
+meta (3287 . "@src64/sym.l")
+meth (1089 . "@src64/flow.l")
+method (1053 . "@src64/flow.l")
min (2356 . "@src64/subr.l")
mini (1562 . "@src64/apply.l")
mix (1260 . "@src64/subr.l")
@@ -221,15 +221,15 @@ n0 (2189 . "@src64/subr.l")
n== (2087 . "@src64/subr.l")
nT (2198 . "@src64/subr.l")
name (502 . "@src64/sym.l")
-nand (1645 . "@src64/flow.l")
+nand (1648 . "@src64/flow.l")
native (1385 . "@src64/main.l")
need (919 . "@src64/subr.l")
-new (832 . "@src64/flow.l")
+new (835 . "@src64/flow.l")
next (2296 . "@src64/main.l")
-nil (1728 . "@src64/flow.l")
-nond (1928 . "@src64/flow.l")
-nor (1666 . "@src64/flow.l")
-not (1718 . "@src64/flow.l")
+nil (1731 . "@src64/flow.l")
+nond (1931 . "@src64/flow.l")
+nor (1669 . "@src64/flow.l")
+not (1721 . "@src64/flow.l")
nth (685 . "@src64/subr.l")
num? (2426 . "@src64/subr.l")
off (1712 . "@src64/sym.l")
@@ -238,9 +238,9 @@ on (1697 . "@src64/sym.l")
onOff (1727 . "@src64/sym.l")
one (1760 . "@src64/sym.l")
open (4338 . "@src64/io.l")
-opid (3211 . "@src64/flow.l")
+opid (3214 . "@src64/flow.l")
opt (3036 . "@src64/main.l")
-or (1626 . "@src64/flow.l")
+or (1629 . "@src64/flow.l")
out (4214 . "@src64/io.l")
pack (1259 . "@src64/sym.l")
pair (2394 . "@src64/subr.l")
@@ -262,16 +262,16 @@ print (5085 . "@src64/io.l")
println (5116 . "@src64/io.l")
printsp (5101 . "@src64/io.l")
prior (2713 . "@src64/subr.l")
-prog (1746 . "@src64/flow.l")
-prog1 (1754 . "@src64/flow.l")
-prog2 (1771 . "@src64/flow.l")
-prop (2911 . "@src64/sym.l")
+prog (1749 . "@src64/flow.l")
+prog1 (1757 . "@src64/flow.l")
+prog2 (1774 . "@src64/flow.l")
+prop (2914 . "@src64/sym.l")
protect (516 . "@src64/main.l")
prove (3527 . "@src64/subr.l")
push (1802 . "@src64/sym.l")
push1 (1838 . "@src64/sym.l")
put (2824 . "@src64/sym.l")
-putl (3096 . "@src64/sym.l")
+putl (3102 . "@src64/sym.l")
pwd (2677 . "@src64/main.l")
queue (2034 . "@src64/sym.l")
quit (1092 . "@src64/main.l")
@@ -286,13 +286,13 @@ replace (1499 . "@src64/subr.l")
rest (2342 . "@src64/main.l")
reverse (1678 . "@src64/subr.l")
rewind (5129 . "@src64/io.l")
-rollback (1889 . "@src64/db.l")
+rollback (1895 . "@src64/db.l")
rot (848 . "@src64/subr.l")
run (306 . "@src64/flow.l")
sect (2541 . "@src64/subr.l")
seed (2961 . "@src64/big.l")
seek (1275 . "@src64/apply.l")
-send (1124 . "@src64/flow.l")
+send (1127 . "@src64/flow.l")
seq (1081 . "@src64/db.l")
set (1596 . "@src64/sym.l")
setq (1629 . "@src64/sym.l")
@@ -304,52 +304,52 @@ sp? (719 . "@src64/sym.l")
space (5063 . "@src64/io.l")
split (1592 . "@src64/subr.l")
stack (555 . "@src64/main.l")
-state (1995 . "@src64/flow.l")
+state (1998 . "@src64/flow.l")
stem (1989 . "@src64/subr.l")
str (4019 . "@src64/io.l")
str? (1128 . "@src64/sym.l")
strip (1576 . "@src64/subr.l")
sub? (1558 . "@src64/sym.l")
sum (1460 . "@src64/apply.l")
-super (1211 . "@src64/flow.l")
+super (1214 . "@src64/flow.l")
sym (4005 . "@src64/io.l")
sym? (2434 . "@src64/subr.l")
symbols (934 . "@src64/sym.l")
sync (3188 . "@src64/io.l")
-sys (3047 . "@src64/flow.l")
-t (1737 . "@src64/flow.l")
+sys (3050 . "@src64/flow.l")
+t (1740 . "@src64/flow.l")
tail (1911 . "@src64/subr.l")
tell (3260 . "@src64/io.l")
text (1387 . "@src64/sym.l")
-throw (2479 . "@src64/flow.l")
-tick (3163 . "@src64/flow.l")
+throw (2482 . "@src64/flow.l")
+tick (3166 . "@src64/flow.l")
till (3610 . "@src64/io.l")
time (2560 . "@src64/main.l")
touch (1164 . "@src64/sym.l")
trim (1759 . "@src64/subr.l")
-try (1165 . "@src64/flow.l")
-type (911 . "@src64/flow.l")
+try (1168 . "@src64/flow.l")
+type (914 . "@src64/flow.l")
udp (301 . "@src64/net.l")
unify (3935 . "@src64/subr.l")
-unless (1887 . "@src64/flow.l")
-until (2071 . "@src64/flow.l")
+unless (1890 . "@src64/flow.l")
+until (2074 . "@src64/flow.l")
up (700 . "@src64/main.l")
-upp? (3376 . "@src64/sym.l")
-uppc (3440 . "@src64/sym.l")
-use (1559 . "@src64/flow.l")
+upp? (3382 . "@src64/sym.l")
+uppc (3446 . "@src64/sym.l")
+use (1562 . "@src64/flow.l")
usec (2665 . "@src64/main.l")
val (1577 . "@src64/sym.l")
version (3050 . "@src64/main.l")
wait (3150 . "@src64/io.l")
-when (1870 . "@src64/flow.l")
-while (2047 . "@src64/flow.l")
-wipe (3236 . "@src64/sym.l")
-with (1318 . "@src64/flow.l")
+when (1873 . "@src64/flow.l")
+while (2050 . "@src64/flow.l")
+wipe (3242 . "@src64/sym.l")
+with (1321 . "@src64/flow.l")
wr (5246 . "@src64/io.l")
xchg (1652 . "@src64/sym.l")
-xor (1687 . "@src64/flow.l")
+xor (1690 . "@src64/flow.l")
x| (2887 . "@src64/big.l")
-yield (2703 . "@src64/flow.l")
+yield (2706 . "@src64/flow.l")
yoke (1196 . "@src64/subr.l")
zap (1178 . "@src64/sym.l")
zero (1745 . "@src64/sym.l")
diff --git a/src/flow.c b/src/flow.c
@@ -1,4 +1,4 @@
-/* 25sep11abu
+/* 11mar12abu
* (c) Software Lab. Alexander Burger
*/
@@ -229,7 +229,8 @@ any doDef(any ex) {
}
else {
x = cdr(x), Push(c3, EVAL(car(x)));
- Touch(ex,data(c1));
+ if (!isNil(data(c2)))
+ Touch(ex,data(c1));
if (!isNil(y = get(data(c1), data(c2))) && !equal(data(c3), y))
redefMsg(data(c1), data(c2));
put(data(c1), data(c2), data(c3));
diff --git a/src/io.c b/src/io.c
@@ -1,4 +1,4 @@
-/* 18oct11abu
+/* 11mar12abu
* (c) Software Lab. Alexander Burger
*/
@@ -3416,10 +3416,14 @@ any doCommit(any ex) {
putBin = putBlock;
binPrint(extn, val(y = car(x)));
for (y = tail1(y); isCell(y); y = cdr(y)) {
- if (isCell(car(y)))
- binPrint(extn, cdar(y)), binPrint(extn, caar(y));
- else
- binPrint(extn, car(y)), binPrint(extn, T);
+ if (isCell(car(y))) {
+ if (!isNil(cdar(y)))
+ binPrint(extn, cdar(y)), binPrint(extn, caar(y));
+ }
+ else {
+ if (!isNil(car(y)))
+ binPrint(extn, car(y)), binPrint(extn, T);
+ }
}
putBlock(NIX);
setAdr(Block[0] & TAGMASK, Block); // Clear Link
diff --git a/src/sym.c b/src/sym.c
@@ -1,4 +1,4 @@
-/* 24sep11abu
+/* 11mar12abu
* (c) Software Lab. Alexander Burger
*/
@@ -1111,13 +1111,16 @@ any doPut(any ex) {
}
NeedSym(ex,data(c1));
Push(c3, EVAL(car(x)));
- Touch(ex,data(c1));
if (isNum(data(c2)) && IsZero(data(c2))) {
+ Touch(ex,data(c1));
CheckVar(ex,data(c1));
val(data(c1)) = x = data(c3);
}
- else
+ else {
+ if (!isNil(data(c2)))
+ Touch(ex,data(c1));
put(data(c1), data(c2), x = data(c3));
+ }
drop(c1);
return x;
}
@@ -1209,13 +1212,16 @@ any doSetCol(any ex) {
}
NeedSym(ex,y);
Push(c1, EVAL(car(x)));
- Touch(ex,y);
if (isNum(z) && IsZero(z)) {
+ Touch(ex,y);
CheckVar(ex,y);
val(y) = x = data(c1);
}
- else
+ else {
+ if (!isNil(z))
+ Touch(ex,y);
put(y, z, x = data(c1));
+ }
drop(c1);
return x;
}
diff --git a/src64/db.l b/src64/db.l
@@ -1,4 +1,4 @@
-# 24aug11abu
+# 11mar12abu
# (c) Software Lab. Alexander Burger
# 6 bytes in little endian format
@@ -1704,15 +1704,21 @@
while z # Yes
atom (Y) # Flag?
if z # No
- ld E ((Y) CDR) # Print key
- call binPrintEZ
- ld E ((Y)) # Print value
- call binPrintEZ
+ ld E ((Y) CDR) # Get key
+ cmp E Nil # Volatile property?
+ if ne # No
+ call binPrintEZ # Print key
+ ld E ((Y)) # Print value
+ call binPrintEZ
+ end
else
- ld E (Y) # Print key
- call binPrintEZ
- ld E TSym # Print 'T'
- call binPrintEZ
+ ld E (Y) # Get key
+ cmp E Nil # Volatile property?
+ if ne # No
+ call binPrintEZ # Print key
+ ld E TSym # Print 'T'
+ call binPrintEZ
+ end
end
ld Y (Y CDR)
loop
diff --git a/src64/flow.l b/src64/flow.l
@@ -1,4 +1,4 @@
-# 08nov11abu
+# 12mar12abu
# (c) Software Lab. Alexander Burger
(code 'redefMsgEC)
@@ -496,11 +496,14 @@
tuck E # <L I> Third arg
link
ld E (L III) # First symbol
+ ld C (L II) # Second arg
sym (E TAIL) # External symbol?
if nz # Yes
- call dbTouchEX # Touch it
+ cmp C Nil # Volatile property?
+ if ne # No
+ call dbTouchEX # Touch it
+ end
end
- ld C (L II) # Second arg
call getEC_E # Current property value
cmp E Nil # NIL?
if ne # NO
diff --git a/src64/sym.l b/src64/sym.l
@@ -1,4 +1,4 @@
-# 29feb12abu
+# 12mar12abu
# (c) Software Lab. Alexander Burger
### Compare long names ###
@@ -2855,15 +2855,18 @@
ld E (Y) # Eval 'any'
eval
ld A (L II) # Get symbol
+ ld C (L I) # Get key
sym (A TAIL) # External symbol?
if nz # Yes
- push E # Save 'any'
- ld E A # Get symbol
- call dbTouchEX # Touch it
- ld A E
- pop E
+ cmp C Nil # Volatile property?
+ if ne # No
+ push E # Save 'any'
+ ld E A # Get symbol
+ call dbTouchEX # Touch it
+ ld A E
+ pop E
+ end
end
- ld C (L I) # Get key
cmp C ZERO # Key is zero?
if eq # Yes
call checkVarAX # Check variable
@@ -3011,7 +3014,10 @@
jz symErrEX
sym (E TAIL) # External symbol?
if nz # Yes
- call dbTouchEX # Touch it
+ cmp C Nil # Volatile property?
+ if ne # No
+ call dbTouchEX # Touch it
+ end
end
push C # Save key
push E # Save symbol
diff --git a/src64/tags b/src64/tags
@@ -438,14 +438,14 @@ boxNum_C gc.l 836
boxNum_E gc.l 848
boxNum_X gc.l 860
brkErrX err.l 494
-brkLoadE_E flow.l 2853
+brkLoadE_E flow.l 2856
bufAoAC_C db.l 953
bufStringE_SZ io.l 1142
-byeE flow.l 3436
+byeE flow.l 3439
byteNumBCX_CX io.l 463
byteSymBCX_CX io.l 1291
-caseDataA_AC sym.l 3349
-caught flow.l 2469
+caseDataA_AC sym.l 3355
+caught flow.l 2472
cbl main.l 1854
cbl1 main.l 1887
cbl10 main.l 1923
@@ -533,7 +533,7 @@ cons_Z gc.l 518
ctOpenEXY io.l 1670
currFdX_C io.l 1333
currFd_C io.l 1337
-cutLocalCX flow.l 2821
+cutLocalCX flow.l 2824
dateXYZ_E main.l 2366
dbAEX db.l 1328
dbFetchEX db.l 1316
@@ -560,7 +560,7 @@ doAdd big.l 2171
doAdr main.l 594
doAlarm main.l 471
doAll sym.l 780
-doAnd flow.l 1610
+doAnd flow.l 1613
doAny io.l 3965
doAppend subr.l 1338
doApply apply.l 713
@@ -571,19 +571,19 @@ doArrow subr.l 3913
doAs flow.l 139
doAsoq subr.l 3005
doAssoc subr.l 2970
-doAt flow.l 2095
+doAt flow.l 2098
doAtom subr.l 2385
-doBind flow.l 1348
+doBind flow.l 1351
doBitAnd big.l 2807
doBitOr big.l 2847
doBitQ big.l 2748
doBitXor big.l 2887
-doBool flow.l 1710
-doBox flow.l 821
+doBool flow.l 1713
+doBox flow.l 824
doBoxQ sym.l 1114
-doBreak flow.l 2845
+doBreak flow.l 2848
doBy apply.l 1669
-doBye flow.l 3424
+doBye flow.l 3427
doCaaaar subr.l 271
doCaaadr subr.l 288
doCaaar subr.l 99
@@ -598,10 +598,10 @@ doCaddar subr.l 409
doCadddr subr.l 435
doCaddr subr.l 156
doCadr subr.l 45
-doCall flow.l 3076
+doCall flow.l 3079
doCar subr.l 5
-doCase flow.l 1951
-doCatch flow.l 2453
+doCase flow.l 1954
+doCatch flow.l 2456
doCd main.l 2688
doCdaaar subr.l 464
doCdaadr subr.l 487
@@ -627,12 +627,12 @@ doClip subr.l 1799
doClose io.l 4381
doCmd main.l 2915
doCnt apply.l 1413
-doCo flow.l 2534
-doCol sym.l 3034
+doCo flow.l 2537
+doCol sym.l 3040
doCommit db.l 1495
doCon subr.l 725
doConc subr.l 781
-doCond flow.l 1905
+doCond flow.l 1908
doConnect net.l 224
doCons subr.l 747
doCopy subr.l 1225
@@ -640,8 +640,8 @@ doCtl io.l 4254
doCtty main.l 2713
doCut sym.l 1911
doDate main.l 2427
-doDbck db.l 2104
-doDe flow.l 529
+doDbck db.l 2110
+doDe flow.l 532
doDec big.l 2323
doDef flow.l 448
doDefault sym.l 1775
@@ -651,9 +651,9 @@ doDelq subr.l 1452
doDiff subr.l 2589
doDir main.l 2846
doDiv big.l 2513
-doDm flow.l 542
-doDo flow.l 2127
-doE flow.l 2908
+doDm flow.l 545
+doDo flow.l 2130
+doE flow.l 2911
doEcho io.l 4412
doEnv main.l 606
doEof io.l 3524
@@ -668,33 +668,33 @@ doEval flow.l 175
doExt io.l 5146
doExtQ sym.l 1149
doExtern sym.l 1015
-doExtra flow.l 1255
+doExtra flow.l 1258
doExtract apply.l 1218
doFifo sym.l 2077
doFile main.l 2793
doFill subr.l 3240
doFilter apply.l 1161
doFin subr.l 2033
-doFinally flow.l 2510
+doFinally flow.l 2513
doFind apply.l 1322
doFish apply.l 1613
doFlgQ subr.l 2445
doFlip subr.l 1699
doFlush io.l 5121
-doFold sym.l 3489
-doFor flow.l 2216
-doFork flow.l 3250
+doFold sym.l 3495
+doFor flow.l 2219
+doFork flow.l 3253
doFormat big.l 2089
-doFree db.l 2046
+doFree db.l 2052
doFrom io.l 3543
doFull subr.l 1075
doFunQ sym.l 742
doGc gc.l 435
doGe subr.l 2297
doGe0 big.l 2707
-doGet sym.l 2880
+doGet sym.l 2883
doGetd sym.l 750
-doGetl sym.l 3178
+doGetl sym.l 3184
doGlue sym.l 1349
doGt subr.l 2267
doGt0 big.l 2718
@@ -706,26 +706,26 @@ doHide sym.l 1082
doHost net.l 190
doId db.l 1025
doIdx sym.l 2151
-doIf flow.l 1791
-doIf2 flow.l 1810
-doIfn flow.l 1851
+doIf flow.l 1794
+doIf2 flow.l 1813
+doIfn flow.l 1854
doIn io.l 4194
doInc big.l 2256
doIndex subr.l 2637
doInfo main.l 2750
doIntern sym.l 990
-doIpid flow.l 3195
-doIsa flow.l 958
-doJob flow.l 1415
+doIpid flow.l 3198
+doIsa flow.l 961
+doJob flow.l 1418
doJournal db.l 968
doKey io.l 3376
-doKill flow.l 3227
+doKill flow.l 3230
doLast subr.l 2044
doLe subr.l 2237
doLe0 big.l 2693
doLength subr.l 2741
-doLet flow.l 1465
-doLetQ flow.l 1526
+doLet flow.l 1468
+doLetQ flow.l 1529
doLieu db.l 1154
doLine io.l 3699
doLines io.l 3852
@@ -736,9 +736,9 @@ doListen net.l 157
doLit flow.l 150
doLoad io.l 4171
doLock db.l 1182
-doLoop flow.l 2159
-doLowQ sym.l 3361
-doLowc sym.l 3391
+doLoop flow.l 2162
+doLowQ sym.l 3367
+doLowc sym.l 3397
doLstQ subr.l 2415
doLt subr.l 2207
doLt0 big.l 2682
@@ -752,15 +752,15 @@ doMapcar apply.l 987
doMapcon apply.l 1041
doMaplist apply.l 933
doMaps apply.l 790
-doMark db.l 1964
+doMark db.l 1970
doMatch subr.l 3125
doMax subr.l 2327
doMaxi apply.l 1511
doMember subr.l 2455
doMemq subr.l 2477
-doMeta sym.l 3281
-doMeth flow.l 1086
-doMethod flow.l 1050
+doMeta sym.l 3287
+doMeth flow.l 1089
+doMethod flow.l 1053
doMin subr.l 2356
doMini apply.l 1562
doMix subr.l 1260
@@ -772,15 +772,15 @@ doNEq0 subr.l 2189
doNEqT subr.l 2198
doNEqual subr.l 2144
doName sym.l 502
-doNand flow.l 1645
+doNand flow.l 1648
doNative main.l 1385
doNeed subr.l 919
-doNew flow.l 832
+doNew flow.l 835
doNext main.l 2296
-doNil flow.l 1728
-doNond flow.l 1928
-doNor flow.l 1666
-doNot flow.l 1718
+doNil flow.l 1731
+doNond flow.l 1931
+doNor flow.l 1669
+doNot flow.l 1721
doNth subr.l 685
doNumQ subr.l 2426
doOff sym.l 1712
@@ -789,9 +789,9 @@ doOn sym.l 1697
doOnOff sym.l 1727
doOne sym.l 1760
doOpen io.l 4338
-doOpid flow.l 3211
+doOpid flow.l 3214
doOpt main.l 3036
-doOr flow.l 1626
+doOr flow.l 1629
doOut io.l 4214
doPack sym.l 1259
doPair subr.l 2394
@@ -813,17 +813,17 @@ doPrint io.l 5085
doPrintln io.l 5116
doPrintsp io.l 5101
doPrior subr.l 2713
-doProg flow.l 1746
-doProg1 flow.l 1754
-doProg2 flow.l 1771
-doProp sym.l 2911
-doPropCol sym.l 3058
+doProg flow.l 1749
+doProg1 flow.l 1757
+doProg2 flow.l 1774
+doProp sym.l 2914
+doPropCol sym.l 3064
doProtect main.l 516
doProve subr.l 3527
doPush sym.l 1802
doPush1 sym.l 1838
doPut sym.l 2824
-doPutl sym.l 3096
+doPutl sym.l 3102
doPwd main.l 2677
doQueue sym.l 2034
doQuit main.l 1092
@@ -839,17 +839,17 @@ doReplace subr.l 1499
doRest main.l 2342
doReverse subr.l 1678
doRewind io.l 5129
-doRollback db.l 1889
+doRollback db.l 1895
doRot subr.l 848
doRun flow.l 306
doSect subr.l 2541
doSeed big.l 2961
doSeek apply.l 1275
-doSemicol sym.l 2956
-doSend flow.l 1124
+doSemicol sym.l 2959
+doSend flow.l 1127
doSeq db.l 1081
doSet sym.l 1596
-doSetCol sym.l 2985
+doSetCol sym.l 2988
doSetq sym.l 1629
doShift big.l 2627
doSigio main.l 487
@@ -860,7 +860,7 @@ doSpQ sym.l 719
doSpace io.l 5063
doSplit subr.l 1592
doStack main.l 555
-doState flow.l 1995
+doState flow.l 1998
doStem subr.l 1989
doStr io.l 4019
doStrQ sym.l 1128
@@ -868,45 +868,45 @@ doStrip subr.l 1576
doSub big.l 2209
doSubQ sym.l 1558
doSum apply.l 1460
-doSuper flow.l 1211
+doSuper flow.l 1214
doSym io.l 4005
doSymQ subr.l 2434
doSymbols sym.l 934
doSync io.l 3188
-doSys flow.l 3047
-doT flow.l 1737
+doSys flow.l 3050
+doT flow.l 1740
doTail subr.l 1911
doTell io.l 3260
doText sym.l 1387
-doThrow flow.l 2479
-doTick flow.l 3163
+doThrow flow.l 2482
+doTick flow.l 3166
doTill io.l 3610
doTime main.l 2560
doTouch sym.l 1164
-doTrace flow.l 2947
+doTrace flow.l 2950
doTrim subr.l 1759
-doTry flow.l 1165
-doType flow.l 911
+doTry flow.l 1168
+doType flow.l 914
doUdp net.l 301
doUnify subr.l 3935
-doUnless flow.l 1887
-doUntil flow.l 2071
+doUnless flow.l 1890
+doUntil flow.l 2074
doUp main.l 700
-doUppQ sym.l 3376
-doUppc sym.l 3440
-doUse flow.l 1559
+doUppQ sym.l 3382
+doUppc sym.l 3446
+doUse flow.l 1562
doUsec main.l 2665
doVal sym.l 1577
doVersion main.l 3050
doWait io.l 3150
-doWhen flow.l 1870
-doWhile flow.l 2047
-doWipe sym.l 3236
-doWith flow.l 1318
+doWhen flow.l 1873
+doWhile flow.l 2050
+doWipe sym.l 3242
+doWith flow.l 1321
doWr io.l 5246
doXchg sym.l 1652
-doXor flow.l 1687
-doYield flow.l 2703
+doXor flow.l 1690
+doYield flow.l 2706
doYoke subr.l 1196
doZap sym.l 1178
doZero sym.l 1745
@@ -923,7 +923,7 @@ evCntEX_FE main.l 2190
evCntXY_FE main.l 2188
evExprCE_E main.l 1110
evListE_E main.l 1254
-evMethodACXYZ_E flow.l 642
+evMethodACXYZ_E flow.l 645
evSymE_E main.l 2165
evSymX_E main.l 2160
evSymY_E main.l 2163
@@ -932,7 +932,7 @@ execErrS main.l 187
extErrEX err.l 434
extNmCE_X db.l 64
externX_E sym.l 266
-extraXY_FCYZ flow.l 1282
+extraXY_FCYZ flow.l 1285
fdRdSetCZL io.l 2718
fdSetCL_X io.l 2706
fdSetC_Y io.l 3309
@@ -942,7 +942,7 @@ fileObjE_AC db.l 237
fileObjX_AC db.l 211
fillE_FE subr.l 3258
findSymX_E sym.l 257
-finishE flow.l 3448
+finishE flow.l 3451
firstByteA_B sym.l 673
firstCharE_A sym.l 683
fishAXY apply.l 1640
@@ -953,7 +953,7 @@ fmtNumAE_E big.l 1797
fmtScaleCX_CX big.l 2061
fmtWordACX_CX big.l 2046
forkErrX err.l 515
-forkLispX_FE flow.l 3263
+forkLispX_FE flow.l 3266
fsyncDB db.l 929
funqE_FE main.l 2098
gc gc.l 65
@@ -991,12 +991,12 @@ ipSocketErrX err.l 652
ipV6onlyErrX err.l 662
isBlankE_F sym.l 696
isInternEXY_F sym.l 37
-isLetterOrDigitA_F sym.l 3558
+isLetterOrDigitA_F sym.l 3564
isLifeE_F db.l 525
-isaCE_F flow.l 1009
+isaCE_F flow.l 1012
jnlErrX err.l 618
jnlFileno_A db.l 344
-joinLocalCX flow.l 2834
+joinLocalCX flow.l 2837
lisp main.l 2028
loadAllX_E main.l 162
loadBEX_E io.l 4072
@@ -1006,8 +1006,8 @@ lockJnl db.l 352
logBlock db.l 432
logFileno_A db.l 348
lookupCE_E subr.l 3869
-loopX flow.l 2164
-loopY_FE flow.l 2403
+loopX flow.l 2167
+loopY_FE flow.l 2406
lstErrAX err.l 450
lstErrEX err.l 452
lupCE_E subr.l 3812
@@ -1016,8 +1016,8 @@ makeErrX err.l 471
markE gc.l 5
matchCE_F subr.l 3144
memberXY_FY main.l 1074
-metaCX_E sym.l 3323
-methodEY_FCYZ flow.l 788
+metaCX_E sym.l 3329
+methodEY_FCYZ flow.l 791
mkCharA_A sym.l 573
mkStrEZ_A sym.l 650
mkStrE_E sym.l 623
@@ -1112,7 +1112,7 @@ remUnder big.l 1485
remuAE_A big.l 1266
renErrEX err.l 467
restart main.l 154
-resumeCoroutine flow.l 2560
+resumeCoroutine flow.l 2563
ret err.l 705
retE_E err.l 728
retNil err.l 722
@@ -1172,12 +1172,12 @@ tellEndAZ io.l 1011
tellErr err.l 646
tenfoldA_A big.l 157
testEscA_F io.l 2050
-throwErrZX flow.l 2504
+throwErrZX flow.l 2507
tmDateC_E main.l 2356
tmTimeY_E main.l 2543
tokenCE_E io.l 2522
trSyncErrX err.l 602
-traceCY flow.l 3019
+traceCY flow.l 3022
trimE_E subr.l 1769
truncErrX err.l 592
truncLog db.l 944
@@ -1201,7 +1201,7 @@ waitFdCEX_A io.l 2764
waitPidErrX err.l 520
wifsignaledS_F sys/x86-64.linux.code.l 27
wifstoppedS_F sys/x86-64.linux.code.l 22
-wipeE sym.l 3258
+wipeE sym.l 3264
wrBlockZ db.l 398
wrBytesCEX_F io.l 316
wrBytesErr err.l 563