picolisp

Unnamed repository; edit this file to name it for gitweb.
git clone https://logand.com/git/picolisp.git/
Log | Files | Refs | README | LICENSE

commit 4c710d61a8063012a74d0f894696054a57e7fe60
parent 9ff41ffbecd0c038a5d603eb1d6654053de2f56b
Author: Alexander Burger <abu@software-lab.de>
Date:   Mon, 12 Mar 2012 08:59:19 +0100

Volatile 'NIL' property
Diffstat:
MCHANGES | 1+
Mlib/map | 160++++++++++++++++++++++++++++++++++++++++----------------------------------------
Msrc/flow.c | 5+++--
Msrc/io.c | 14+++++++++-----
Msrc/sym.c | 16+++++++++++-----
Msrc64/db.l | 24+++++++++++++++---------
Msrc64/flow.l | 9++++++---
Msrc64/sym.l | 22++++++++++++++--------
Msrc64/tags | 200++++++++++++++++++++++++++++++++++++++++----------------------------------------
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