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 858a7493ece9db00ea6d7b00deaea5c9b2280553
parent 263bed6676c57a5a172bafd33302469d89e69088
Author: Alexander Burger <abu@software-lab.de>
Date:   Thu, 22 Mar 2012 14:12:37 +0100

Bug in 'firstByteA_B' (64-bit)
Diffstat:
MCHANGES | 1+
Mlib/map | 130++++++++++++++++++++++++++++++++++++++++----------------------------------------
Msrc64/subr.l | 19+++++++++++--------
Msrc64/sym.l | 259++++++++++++++++++++++++++++++++++++++++++-------------------------------------
Msrc64/tags | 186++++++++++++++++++++++++++++++++++++++++----------------------------------------
5 files changed, 308 insertions(+), 287 deletions(-)

diff --git a/CHANGES b/CHANGES @@ -1,4 +1,5 @@ * XXmmm12 picoLisp-3.0.10 + Bug in 'firstByteA_B' (64-bit) 'httpGate' session bug Simplified 'sigio' Volatile 'NIL' property diff --git a/lib/map b/lib/map @@ -6,19 +6,19 @@ $ (2950 . "@src64/flow.l") */ (2446 . "@src64/big.l") + (2171 . "@src64/big.l") - (2209 . "@src64/big.l") --> (3913 . "@src64/subr.l") +-> (3916 . "@src64/subr.l") / (2513 . "@src64/big.l") -: (3040 . "@src64/sym.l") -:: (3064 . "@src64/sym.l") -; (2959 . "@src64/sym.l") +: (3048 . "@src64/sym.l") +:: (3072 . "@src64/sym.l") +; (2967 . "@src64/sym.l") < (2207 . "@src64/subr.l") <= (2237 . "@src64/subr.l") <> (2144 . "@src64/subr.l") = (2115 . "@src64/subr.l") =0 (2173 . "@src64/subr.l") -=: (2988 . "@src64/sym.l") +=: (2996 . "@src64/sym.l") == (2059 . "@src64/subr.l") -==== (1082 . "@src64/sym.l") +==== (1090 . "@src64/sym.l") =T (2181 . "@src64/subr.l") > (2267 . "@src64/subr.l") >= (2297 . "@src64/subr.l") @@ -27,7 +27,7 @@ abs (2731 . "@src64/big.l") accept (145 . "@src64/net.l") adr (585 . "@src64/main.l") alarm (471 . "@src64/main.l") -all (780 . "@src64/sym.l") +all (788 . "@src64/sym.l") and (1613 . "@src64/flow.l") any (3965 . "@src64/io.l") append (1338 . "@src64/subr.l") @@ -36,15 +36,15 @@ arg (2304 . "@src64/main.l") args (2280 . "@src64/main.l") argv (2924 . "@src64/main.l") as (139 . "@src64/flow.l") -asoq (3005 . "@src64/subr.l") -assoc (2970 . "@src64/subr.l") +asoq (3008 . "@src64/subr.l") +assoc (2973 . "@src64/subr.l") at (2098 . "@src64/flow.l") atom (2385 . "@src64/subr.l") bind (1351 . "@src64/flow.l") bit? (2748 . "@src64/big.l") bool (1713 . "@src64/flow.l") box (824 . "@src64/flow.l") -box? (1114 . "@src64/sym.l") +box? (1122 . "@src64/sym.l") by (1669 . "@src64/apply.l") bye (3427 . "@src64/flow.l") caaaar (271 . "@src64/subr.l") @@ -83,7 +83,7 @@ cddr (79 . "@src64/subr.l") cdr (17 . "@src64/subr.l") chain (1141 . "@src64/subr.l") char (3447 . "@src64/io.l") -chop (1208 . "@src64/sym.l") +chop (1216 . "@src64/sym.l") circ (816 . "@src64/subr.l") circ? (2402 . "@src64/subr.l") clip (1799 . "@src64/subr.l") @@ -100,14 +100,14 @@ cons (747 . "@src64/subr.l") copy (1225 . "@src64/subr.l") ctl (4254 . "@src64/io.l") ctty (2704 . "@src64/main.l") -cut (1911 . "@src64/sym.l") +cut (1919 . "@src64/sym.l") date (2418 . "@src64/main.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") -del (1966 . "@src64/sym.l") +default (1783 . "@src64/sym.l") +del (1974 . "@src64/sym.l") delete (1401 . "@src64/subr.l") delq (1452 . "@src64/subr.l") diff (2589 . "@src64/subr.l") @@ -123,13 +123,13 @@ err (4234 . "@src64/io.l") errno (1368 . "@src64/main.l") eval (175 . "@src64/flow.l") ext (5146 . "@src64/io.l") -ext? (1149 . "@src64/sym.l") -extern (1015 . "@src64/sym.l") +ext? (1157 . "@src64/sym.l") +extern (1023 . "@src64/sym.l") extra (1258 . "@src64/flow.l") extract (1218 . "@src64/apply.l") -fifo (2077 . "@src64/sym.l") +fifo (2085 . "@src64/sym.l") file (2784 . "@src64/main.l") -fill (3240 . "@src64/subr.l") +fill (3243 . "@src64/subr.l") filter (1161 . "@src64/apply.l") fin (2033 . "@src64/subr.l") finally (2513 . "@src64/flow.l") @@ -138,20 +138,20 @@ fish (1613 . "@src64/apply.l") flg? (2445 . "@src64/subr.l") flip (1699 . "@src64/subr.l") flush (5121 . "@src64/io.l") -fold (3495 . "@src64/sym.l") +fold (3509 . "@src64/sym.l") for (2219 . "@src64/flow.l") fork (3253 . "@src64/flow.l") format (2089 . "@src64/big.l") free (2052 . "@src64/db.l") from (3543 . "@src64/io.l") full (1075 . "@src64/subr.l") -fun? (742 . "@src64/sym.l") +fun? (750 . "@src64/sym.l") gc (435 . "@src64/gc.l") ge0 (2707 . "@src64/big.l") -get (2883 . "@src64/sym.l") -getd (750 . "@src64/sym.l") -getl (3184 . "@src64/sym.l") -glue (1349 . "@src64/sym.l") +get (2891 . "@src64/sym.l") +getd (758 . "@src64/sym.l") +getl (3192 . "@src64/sym.l") +glue (1357 . "@src64/sym.l") gt0 (2718 . "@src64/big.l") hash (2976 . "@src64/big.l") head (1820 . "@src64/subr.l") @@ -159,7 +159,7 @@ heap (517 . "@src64/main.l") hear (3228 . "@src64/io.l") host (190 . "@src64/net.l") id (1025 . "@src64/db.l") -idx (2151 . "@src64/sym.l") +idx (2159 . "@src64/sym.l") if (1794 . "@src64/flow.l") if2 (1813 . "@src64/flow.l") ifn (1854 . "@src64/flow.l") @@ -167,7 +167,7 @@ in (4194 . "@src64/io.l") inc (2256 . "@src64/big.l") index (2637 . "@src64/subr.l") info (2741 . "@src64/main.l") -intern (990 . "@src64/sym.l") +intern (998 . "@src64/sym.l") ipid (3198 . "@src64/flow.l") isa (961 . "@src64/flow.l") job (1418 . "@src64/flow.l") @@ -190,11 +190,11 @@ lit (150 . "@src64/flow.l") load (4171 . "@src64/io.l") lock (1182 . "@src64/db.l") loop (2162 . "@src64/flow.l") -low? (3367 . "@src64/sym.l") -lowc (3397 . "@src64/sym.l") +low? (3375 . "@src64/sym.l") +lowc (3405 . "@src64/sym.l") lst? (2415 . "@src64/subr.l") lt0 (2682 . "@src64/big.l") -lup (2340 . "@src64/sym.l") +lup (2348 . "@src64/sym.l") made (1107 . "@src64/subr.l") make (1088 . "@src64/subr.l") map (849 . "@src64/apply.l") @@ -205,12 +205,12 @@ mapcon (1041 . "@src64/apply.l") maplist (933 . "@src64/apply.l") maps (790 . "@src64/apply.l") mark (1970 . "@src64/db.l") -match (3125 . "@src64/subr.l") +match (3128 . "@src64/subr.l") max (2327 . "@src64/subr.l") maxi (1511 . "@src64/apply.l") member (2455 . "@src64/subr.l") memq (2477 . "@src64/subr.l") -meta (3287 . "@src64/sym.l") +meta (3295 . "@src64/sym.l") meth (1089 . "@src64/flow.l") method (1053 . "@src64/flow.l") min (2356 . "@src64/subr.l") @@ -232,30 +232,30 @@ 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") +off (1720 . "@src64/sym.l") offset (2677 . "@src64/subr.l") -on (1697 . "@src64/sym.l") -onOff (1727 . "@src64/sym.l") -one (1760 . "@src64/sym.l") +on (1705 . "@src64/sym.l") +onOff (1735 . "@src64/sym.l") +one (1768 . "@src64/sym.l") open (4338 . "@src64/io.l") opid (3214 . "@src64/flow.l") opt (3027 . "@src64/main.l") or (1629 . "@src64/flow.l") out (4214 . "@src64/io.l") -pack (1259 . "@src64/sym.l") +pack (1267 . "@src64/sym.l") pair (2394 . "@src64/subr.l") pass (754 . "@src64/apply.l") -pat? (728 . "@src64/sym.l") +pat? (736 . "@src64/sym.l") path (1244 . "@src64/io.l") peek (3431 . "@src64/io.l") pick (1369 . "@src64/apply.l") pipe (4275 . "@src64/io.l") poll (3320 . "@src64/io.l") pool (648 . "@src64/db.l") -pop (1887 . "@src64/sym.l") +pop (1895 . "@src64/sym.l") port (5 . "@src64/net.l") pr (5229 . "@src64/io.l") -pre? (1525 . "@src64/sym.l") +pre? (1533 . "@src64/sym.l") prin (5045 . "@src64/io.l") prinl (5059 . "@src64/io.l") print (5085 . "@src64/io.l") @@ -265,20 +265,20 @@ prior (2713 . "@src64/subr.l") prog (1749 . "@src64/flow.l") prog1 (1757 . "@src64/flow.l") prog2 (1774 . "@src64/flow.l") -prop (2914 . "@src64/sym.l") +prop (2922 . "@src64/sym.l") protect (507 . "@src64/main.l") -prove (3527 . "@src64/subr.l") -push (1802 . "@src64/sym.l") -push1 (1838 . "@src64/sym.l") -put (2824 . "@src64/sym.l") -putl (3102 . "@src64/sym.l") +prove (3530 . "@src64/subr.l") +push (1810 . "@src64/sym.l") +push1 (1846 . "@src64/sym.l") +put (2832 . "@src64/sym.l") +putl (3110 . "@src64/sym.l") pwd (2668 . "@src64/main.l") -queue (2034 . "@src64/sym.l") +queue (2042 . "@src64/sym.l") quit (1083 . "@src64/main.l") quote (134 . "@src64/flow.l") rand (3003 . "@src64/big.l") range (997 . "@src64/subr.l") -rank (3033 . "@src64/subr.l") +rank (3036 . "@src64/subr.l") raw (449 . "@src64/main.l") rd (5163 . "@src64/io.l") read (2656 . "@src64/io.l") @@ -294,63 +294,63 @@ seed (2961 . "@src64/big.l") seek (1275 . "@src64/apply.l") send (1127 . "@src64/flow.l") seq (1081 . "@src64/db.l") -set (1596 . "@src64/sym.l") -setq (1629 . "@src64/sym.l") +set (1604 . "@src64/sym.l") +setq (1637 . "@src64/sym.l") sigio (487 . "@src64/main.l") -size (2806 . "@src64/subr.l") +size (2809 . "@src64/subr.l") skip (3501 . "@src64/io.l") -sort (3962 . "@src64/subr.l") -sp? (719 . "@src64/sym.l") +sort (3965 . "@src64/subr.l") +sp? (727 . "@src64/sym.l") space (5063 . "@src64/io.l") split (1592 . "@src64/subr.l") stack (546 . "@src64/main.l") state (1998 . "@src64/flow.l") stem (1989 . "@src64/subr.l") str (4019 . "@src64/io.l") -str? (1128 . "@src64/sym.l") +str? (1136 . "@src64/sym.l") strip (1576 . "@src64/subr.l") -sub? (1558 . "@src64/sym.l") +sub? (1566 . "@src64/sym.l") sum (1460 . "@src64/apply.l") super (1214 . "@src64/flow.l") sym (4005 . "@src64/io.l") sym? (2434 . "@src64/subr.l") -symbols (934 . "@src64/sym.l") +symbols (942 . "@src64/sym.l") sync (3188 . "@src64/io.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") +text (1395 . "@src64/sym.l") throw (2482 . "@src64/flow.l") tick (3166 . "@src64/flow.l") till (3610 . "@src64/io.l") time (2551 . "@src64/main.l") -touch (1164 . "@src64/sym.l") +touch (1172 . "@src64/sym.l") trim (1759 . "@src64/subr.l") try (1168 . "@src64/flow.l") type (914 . "@src64/flow.l") udp (301 . "@src64/net.l") -unify (3935 . "@src64/subr.l") +unify (3938 . "@src64/subr.l") unless (1890 . "@src64/flow.l") until (2074 . "@src64/flow.l") up (691 . "@src64/main.l") -upp? (3382 . "@src64/sym.l") -uppc (3446 . "@src64/sym.l") +upp? (3390 . "@src64/sym.l") +uppc (3457 . "@src64/sym.l") use (1562 . "@src64/flow.l") usec (2656 . "@src64/main.l") -val (1577 . "@src64/sym.l") +val (1585 . "@src64/sym.l") version (3041 . "@src64/main.l") wait (3150 . "@src64/io.l") when (1873 . "@src64/flow.l") while (2050 . "@src64/flow.l") -wipe (3242 . "@src64/sym.l") +wipe (3250 . "@src64/sym.l") with (1321 . "@src64/flow.l") wr (5246 . "@src64/io.l") -xchg (1652 . "@src64/sym.l") +xchg (1660 . "@src64/sym.l") xor (1690 . "@src64/flow.l") x| (2887 . "@src64/big.l") yield (2706 . "@src64/flow.l") yoke (1196 . "@src64/subr.l") -zap (1178 . "@src64/sym.l") -zero (1745 . "@src64/sym.l") +zap (1186 . "@src64/sym.l") +zero (1753 . "@src64/sym.l") | (2847 . "@src64/big.l") diff --git a/src64/subr.l b/src64/subr.l @@ -1,4 +1,4 @@ -# 11oct11abu +# 22mar12abu # (c) Software Lab. Alexander Burger # (car 'var) -> any @@ -2791,14 +2791,17 @@ end push X ld X (E TAIL) - call nameX_X # Get name - ld C 0 ld E ZERO # Counter - do - call symCharCX_FACX # Next char - while nz - add E (hex "10") # Increment counter - loop + sym X # External symbol? + if z # No + call nameX_X # Get name + ld C 0 + do + call symCharCX_FACX # Next char + while nz + add E (hex "10") # Increment counter + loop + end pop X ret diff --git a/src64/sym.l b/src64/sym.l @@ -1,4 +1,4 @@ -# 12mar12abu +# 22mar12abu # (c) Software Lab. Alexander Burger ### Compare long names ### @@ -671,13 +671,18 @@ ret (code 'firstByteA_B 0) - call nameA_A # Get name - cnt A # Short? - if nz # Yes - shr A 4 # Normalize - else - ld A (A DIG) # Get first digit + sym A # External symbol? + if z # No + call nameA_A # Get name + cnt A # Short? + if nz # Yes + shr A 4 # Normalize + else + ld A (A DIG) # Get first digit + end + ret end + ld A 0 ret (code 'firstCharE_A 0) @@ -686,9 +691,12 @@ if ne # No push X ld X (E TAIL) - call nameX_X # Get name - ld C 0 - call symCharCX_FACX # Get first character + sym X # External symbol? + if z # No + call nameX_X # Get name + ld C 0 + call symCharCX_FACX # Get first character + end pop X end ret @@ -3404,38 +3412,41 @@ if nz # Yes cmp E Nil # NIL? if ne # No - ld E (E TAIL) - call nameE_E # Get name - link - push E # <L II> Name - push ZERO # <L I> Result - ld X S - link - push 4 # <S I> Build name - push X # <S> Pack status - ld X (L II) # Get name - ld C 0 # Index - do - call symCharCX_FACX # Next char? - while nz - ld E C # Save C - call caseDataA_AC # Get case info - and A (hex "FFFF") - shr A 6 # Make index - off A 1 - ld2 (A CaseLower) # Get lower case entry - add A C # plus character - and A (hex "FFFF") - ld C (S I) # Swap status - xchg X (S) - call charSymACX_CX # Pack char - xchg X (S) # Swap status - ld (S I) C - ld C E # Restore C - loop - ld X (L I) # Get result - call consSymX_E # Make transient symbol - drop + sym (E TAIL) # External symbol? + if z # No + ld E (E TAIL) + call nameE_E # Get name + link + push E # <L II> Name + push ZERO # <L I> Result + ld X S + link + push 4 # <S I> Build name + push X # <S> Pack status + ld X (L II) # Get name + ld C 0 # Index + do + call symCharCX_FACX # Next char? + while nz + ld E C # Save C + call caseDataA_AC # Get case info + and A (hex "FFFF") + shr A 6 # Make index + off A 1 + ld2 (A CaseLower) # Get lower case entry + add A C # plus character + and A (hex "FFFF") + ld C (S I) # Swap status + xchg X (S) + call charSymACX_CX # Pack char + xchg X (S) # Swap status + ld (S I) C + ld C E # Restore C + loop + ld X (L I) # Get result + call consSymX_E # Make transient symbol + drop + end end end end @@ -3453,38 +3464,41 @@ if nz # Yes cmp E Nil # NIL? if ne # No - ld E (E TAIL) - call nameE_E # Get name - link - push E # <L II> Name - push ZERO # <L I> Result - ld X S - link - push 4 # <S I> Build name - push X # <S> Pack status - ld X (L II) # Get name - ld C 0 # Index - do - call symCharCX_FACX # Next char? - while nz - ld E C # Save C - call caseDataA_AC # Get case info - and A (hex "FFFF") - shr A 6 # Make index - off A 1 - ld2 (A CaseUpper) # Get upper case entry - add A C # plus character - and A (hex "FFFF") - ld C (S I) # Swap status - xchg X (S) - call charSymACX_CX # Pack char - xchg X (S) # Swap status - ld (S I) C - ld C E # Restore C - loop - ld X (L I) # Get result - call consSymX_E # Make transient symbol - drop + sym (E TAIL) # External symbol? + if z # No + ld E (E TAIL) + call nameE_E # Get name + link + push E # <L II> Name + push ZERO # <L I> Result + ld X S + link + push 4 # <S I> Build name + push X # <S> Pack status + ld X (L II) # Get name + ld C 0 # Index + do + call symCharCX_FACX # Next char? + while nz + ld E C # Save C + call caseDataA_AC # Get case info + and A (hex "FFFF") + shr A 6 # Make index + off A 1 + ld2 (A CaseUpper) # Get upper case entry + add A C # plus character + and A (hex "FFFF") + ld C (S I) # Swap status + xchg X (S) + call charSymACX_CX # Pack char + xchg X (S) # Swap status + ld (S I) C + ld C E # Restore C + loop + ld X (L I) # Get result + call consSymX_E # Make transient symbol + drop + end end end end @@ -3505,55 +3519,58 @@ if nz # Yes cmp E Nil # NIL? if ne - ld E (E TAIL) - call nameE_E # Get name - link - push E # <L II> Name - push ZERO # <L I> Result - link - ld Y (Y CDR) # Next arg? - atom Y - if nz # No - push 24 # <S II> Default 'cnt' 24 - else - call evCntXY_FE # Eval 'cnt' - push E # <S II> 'cnt' - end - push 4 # <S I> Build name - lea X (L I) - push X # <S> Pack status - ld X (L II) # Get name - ld C 0 # Index - do - call symCharCX_FACX # Next char? - while nz - ld E C # Save C - call isLetterOrDigitA_F # Letter or digit? - if nz # Yes - call caseDataA_AC # Get case info - and A (hex "FFFF") - shr A 6 # Make index - off A 1 - ld2 (A CaseLower) # Get lower case entry - add A C # plus character - and A (hex "FFFF") - ld C (S I) # Swap status - xchg X (S) - call charSymACX_CX # Pack char - xchg X (S) # Swap status - ld (S I) C - dec (S II) # Decrement 'cnt' - break z + sym (E TAIL) # External symbol? + if z # No + ld E (E TAIL) + call nameE_E # Get name + link + push E # <L II> Name + push ZERO # <L I> Result + link + ld Y (Y CDR) # Next arg? + atom Y + if nz # No + push 24 # <S II> Default 'cnt' 24 + else + call evCntXY_FE # Eval 'cnt' + push E # <S II> 'cnt' end - ld C E # Restore C - loop - ld X (L I) # Get result - call consSymX_E # Make transient symbol - drop + push 4 # <S I> Build name + lea X (L I) + push X # <S> Pack status + ld X (L II) # Get name + ld C 0 # Index + do + call symCharCX_FACX # Next char? + while nz + ld E C # Save C + call isLetterOrDigitA_F # Letter or digit? + if nz # Yes + call caseDataA_AC # Get case info + and A (hex "FFFF") + shr A 6 # Make index + off A 1 + ld2 (A CaseLower) # Get lower case entry + add A C # plus character + and A (hex "FFFF") + ld C (S I) # Swap status + xchg X (S) + call charSymACX_CX # Pack char + xchg X (S) # Swap status + ld (S I) C + dec (S II) # Decrement 'cnt' + break z + end + ld C E # Restore C + loop + ld X (L I) # Get result + call consSymX_E # Make transient symbol + drop + pop Y + pop X + ret + end end - pop Y - pop X - ret end end ld E Nil diff --git a/src64/tags b/src64/tags @@ -423,8 +423,8 @@ atomErrEX err.l 446 badDotErrE err.l 553 badFdErrEX err.l 525 badInputErrB err.l 545 -balanceCEY sym.l 902 -balanceXY sym.l 884 +balanceCEY sym.l 910 +balanceXY sym.l 892 begString main.l 2242 binPrintEZ io.l 730 binReadZ_FE io.l 519 @@ -444,7 +444,7 @@ bufStringE_SZ io.l 1142 byeE flow.l 3439 byteNumBCX_CX io.l 463 byteSymBCX_CX io.l 1291 -caseDataA_AC sym.l 3355 +caseDataA_AC sym.l 3363 caught flow.l 2472 cbl main.l 1845 cbl1 main.l 1878 @@ -487,10 +487,10 @@ closeInFileA io.l 142 closeOnExecAX io.l 43 closeOutFileA io.l 164 clsChildY io.l 341 -cmpDfltA_F subr.l 4117 +cmpDfltA_F subr.l 4120 cmpLongAX_F sym.l 5 cmpNumAE_F big.l 1567 -cmpUserAX_F subr.l 4122 +cmpUserAX_F subr.l 4125 cmpuAE_F big.l 1587 cntErrAX err.l 418 cntErrCX err.l 420 @@ -520,7 +520,7 @@ consNumEA_A gc.l 1006 consNumEA_E gc.l 1023 consNumEC_E gc.l 1041 consSymX_E gc.l 804 -consTreeXE_E sym.l 824 +consTreeXE_E sym.l 832 consX_A gc.l 578 consX_E gc.l 690 consY_X gc.l 738 @@ -559,7 +559,7 @@ doAccept net.l 145 doAdd big.l 2171 doAdr main.l 585 doAlarm main.l 471 -doAll sym.l 780 +doAll sym.l 788 doAnd flow.l 1613 doAny io.l 3965 doAppend subr.l 1338 @@ -567,10 +567,10 @@ doApply apply.l 713 doArg main.l 2304 doArgs main.l 2280 doArgv main.l 2924 -doArrow subr.l 3913 +doArrow subr.l 3916 doAs flow.l 139 -doAsoq subr.l 3005 -doAssoc subr.l 2970 +doAsoq subr.l 3008 +doAssoc subr.l 2973 doAt flow.l 2098 doAtom subr.l 2385 doBind flow.l 1351 @@ -580,7 +580,7 @@ doBitQ big.l 2748 doBitXor big.l 2887 doBool flow.l 1713 doBox flow.l 824 -doBoxQ sym.l 1114 +doBoxQ sym.l 1122 doBreak flow.l 2848 doBy apply.l 1669 doBye flow.l 3427 @@ -620,7 +620,7 @@ doCddr subr.l 79 doCdr subr.l 17 doChain subr.l 1141 doChar io.l 3447 -doChop sym.l 1208 +doChop sym.l 1216 doCirc subr.l 816 doCircQ subr.l 2402 doClip subr.l 1799 @@ -628,7 +628,7 @@ doClose io.l 4381 doCmd main.l 2906 doCnt apply.l 1413 doCo flow.l 2537 -doCol sym.l 3040 +doCol sym.l 3048 doCommit db.l 1495 doCon subr.l 725 doConc subr.l 781 @@ -638,14 +638,14 @@ doCons subr.l 747 doCopy subr.l 1225 doCtl io.l 4254 doCtty main.l 2704 -doCut sym.l 1911 +doCut sym.l 1919 doDate main.l 2418 doDbck db.l 2110 doDe flow.l 532 doDec big.l 2323 doDef flow.l 448 -doDefault sym.l 1775 -doDel sym.l 1966 +doDefault sym.l 1783 +doDel sym.l 1974 doDelete subr.l 1401 doDelq subr.l 1452 doDiff subr.l 2589 @@ -666,13 +666,13 @@ doErr io.l 4234 doErrno main.l 1368 doEval flow.l 175 doExt io.l 5146 -doExtQ sym.l 1149 -doExtern sym.l 1015 +doExtQ sym.l 1157 +doExtern sym.l 1023 doExtra flow.l 1258 doExtract apply.l 1218 -doFifo sym.l 2077 +doFifo sym.l 2085 doFile main.l 2784 -doFill subr.l 3240 +doFill subr.l 3243 doFilter apply.l 1161 doFin subr.l 2033 doFinally flow.l 2513 @@ -681,31 +681,31 @@ doFish apply.l 1613 doFlgQ subr.l 2445 doFlip subr.l 1699 doFlush io.l 5121 -doFold sym.l 3495 +doFold sym.l 3509 doFor flow.l 2219 doFork flow.l 3253 doFormat big.l 2089 doFree db.l 2052 doFrom io.l 3543 doFull subr.l 1075 -doFunQ sym.l 742 +doFunQ sym.l 750 doGc gc.l 435 doGe subr.l 2297 doGe0 big.l 2707 -doGet sym.l 2883 -doGetd sym.l 750 -doGetl sym.l 3184 -doGlue sym.l 1349 +doGet sym.l 2891 +doGetd sym.l 758 +doGetl sym.l 3192 +doGlue sym.l 1357 doGt subr.l 2267 doGt0 big.l 2718 doHash big.l 2976 doHead subr.l 1820 doHeap main.l 517 doHear io.l 3228 -doHide sym.l 1082 +doHide sym.l 1090 doHost net.l 190 doId db.l 1025 -doIdx sym.l 2151 +doIdx sym.l 2159 doIf flow.l 1794 doIf2 flow.l 1813 doIfn flow.l 1854 @@ -713,7 +713,7 @@ doIn io.l 4194 doInc big.l 2256 doIndex subr.l 2637 doInfo main.l 2741 -doIntern sym.l 990 +doIntern sym.l 998 doIpid flow.l 3198 doIsa flow.l 961 doJob flow.l 1418 @@ -737,12 +737,12 @@ doLit flow.l 150 doLoad io.l 4171 doLock db.l 1182 doLoop flow.l 2162 -doLowQ sym.l 3367 -doLowc sym.l 3397 +doLowQ sym.l 3375 +doLowc sym.l 3405 doLstQ subr.l 2415 doLt subr.l 2207 doLt0 big.l 2682 -doLup sym.l 2340 +doLup sym.l 2348 doMade subr.l 1107 doMake subr.l 1088 doMap apply.l 849 @@ -753,12 +753,12 @@ doMapcon apply.l 1041 doMaplist apply.l 933 doMaps apply.l 790 doMark db.l 1970 -doMatch subr.l 3125 +doMatch subr.l 3128 doMax subr.l 2327 doMaxi apply.l 1511 doMember subr.l 2455 doMemq subr.l 2477 -doMeta sym.l 3287 +doMeta sym.l 3295 doMeth flow.l 1089 doMethod flow.l 1053 doMin subr.l 2356 @@ -783,30 +783,30 @@ doNor flow.l 1669 doNot flow.l 1721 doNth subr.l 685 doNumQ subr.l 2426 -doOff sym.l 1712 +doOff sym.l 1720 doOffset subr.l 2677 -doOn sym.l 1697 -doOnOff sym.l 1727 -doOne sym.l 1760 +doOn sym.l 1705 +doOnOff sym.l 1735 +doOne sym.l 1768 doOpen io.l 4338 doOpid flow.l 3214 doOpt main.l 3027 doOr flow.l 1629 doOut io.l 4214 -doPack sym.l 1259 +doPack sym.l 1267 doPair subr.l 2394 doPass apply.l 754 -doPatQ sym.l 728 +doPatQ sym.l 736 doPath io.l 1244 doPeek io.l 3431 doPick apply.l 1369 doPipe io.l 4275 doPoll io.l 3320 doPool db.l 648 -doPop sym.l 1887 +doPop sym.l 1895 doPort net.l 5 doPr io.l 5229 -doPreQ sym.l 1525 +doPreQ sym.l 1533 doPrin io.l 5045 doPrinl io.l 5059 doPrint io.l 5085 @@ -816,21 +816,21 @@ doPrior subr.l 2713 doProg flow.l 1749 doProg1 flow.l 1757 doProg2 flow.l 1774 -doProp sym.l 2914 -doPropCol sym.l 3064 +doProp sym.l 2922 +doPropCol sym.l 3072 doProtect main.l 507 -doProve subr.l 3527 -doPush sym.l 1802 -doPush1 sym.l 1838 -doPut sym.l 2824 -doPutl sym.l 3102 +doProve subr.l 3530 +doPush sym.l 1810 +doPush1 sym.l 1846 +doPut sym.l 2832 +doPutl sym.l 3110 doPwd main.l 2668 -doQueue sym.l 2034 +doQueue sym.l 2042 doQuit main.l 1083 doQuote flow.l 134 doRand big.l 3003 doRange subr.l 997 -doRank subr.l 3033 +doRank subr.l 3036 doRaw main.l 449 doRd io.l 5163 doRead io.l 2656 @@ -845,71 +845,71 @@ doRun flow.l 306 doSect subr.l 2541 doSeed big.l 2961 doSeek apply.l 1275 -doSemicol sym.l 2959 +doSemicol sym.l 2967 doSend flow.l 1127 doSeq db.l 1081 -doSet sym.l 1596 -doSetCol sym.l 2988 -doSetq sym.l 1629 +doSet sym.l 1604 +doSetCol sym.l 2996 +doSetq sym.l 1637 doShift big.l 2627 doSigio main.l 487 -doSize subr.l 2806 +doSize subr.l 2809 doSkip io.l 3501 -doSort subr.l 3962 -doSpQ sym.l 719 +doSort subr.l 3965 +doSpQ sym.l 727 doSpace io.l 5063 doSplit subr.l 1592 doStack main.l 546 doState flow.l 1998 doStem subr.l 1989 doStr io.l 4019 -doStrQ sym.l 1128 +doStrQ sym.l 1136 doStrip subr.l 1576 doSub big.l 2209 -doSubQ sym.l 1558 +doSubQ sym.l 1566 doSum apply.l 1460 doSuper flow.l 1214 doSym io.l 4005 doSymQ subr.l 2434 -doSymbols sym.l 934 +doSymbols sym.l 942 doSync io.l 3188 doSys flow.l 3050 doT flow.l 1740 doTail subr.l 1911 doTell io.l 3260 -doText sym.l 1387 +doText sym.l 1395 doThrow flow.l 2482 doTick flow.l 3166 doTill io.l 3610 doTime main.l 2551 -doTouch sym.l 1164 +doTouch sym.l 1172 doTrace flow.l 2950 doTrim subr.l 1759 doTry flow.l 1168 doType flow.l 914 doUdp net.l 301 -doUnify subr.l 3935 +doUnify subr.l 3938 doUnless flow.l 1890 doUntil flow.l 2074 doUp main.l 691 -doUppQ sym.l 3382 -doUppc sym.l 3446 +doUppQ sym.l 3390 +doUppc sym.l 3457 doUse flow.l 1562 doUsec main.l 2656 -doVal sym.l 1577 +doVal sym.l 1585 doVersion main.l 3041 doWait io.l 3150 doWhen flow.l 1873 doWhile flow.l 2050 -doWipe sym.l 3242 +doWipe sym.l 3250 doWith flow.l 1321 doWr io.l 5246 -doXchg sym.l 1652 +doXchg sym.l 1660 doXor flow.l 1690 doYield flow.l 2706 doYoke subr.l 1196 -doZap sym.l 1178 -doZero sym.l 1745 +doZap sym.l 1186 +doZero sym.l 1753 endString_E main.l 2253 eofErr err.l 534 eolA_F io.l 3684 @@ -940,11 +940,11 @@ fdWrSetCZL io.l 2725 fetchCharC_AC main.l 1810 fileObjE_AC db.l 237 fileObjX_AC db.l 211 -fillE_FE subr.l 3258 +fillE_FE subr.l 3261 findSymX_E sym.l 257 finishE flow.l 3451 firstByteA_B sym.l 673 -firstCharE_A sym.l 683 +firstCharE_A sym.l 688 fishAXY apply.l 1640 flushA_F io.l 391 flushAll io.l 411 @@ -961,19 +961,19 @@ getAdrZ_A db.l 6 getBinaryZ_FB io.l 447 getBlockZ_FB db.l 593 getChar_A io.l 1975 -getEC_E sym.l 2664 +getEC_E sym.l 2672 getParse_A io.l 1795 getStdin_A io.l 1724 getUdpZ_FB net.l 370 -getnECX_E sym.l 2623 +getnECX_E sym.l 2631 giveupX main.l 180 halfA_A big.l 87 heapAlloc main.l 217 iSignalCE main.l 192 idErrXL err.l 623 -idxDelXY_E sym.l 2281 -idxGetXY_E sym.l 2194 -idxPutXY_E sym.l 2211 +idxDelXY_E sym.l 2289 +idxGetXY_E sym.l 2202 +idxPutXY_E sym.l 2219 ignLog db.l 921 inReadyC_F io.l 2694 incE_A big.l 1491 @@ -989,9 +989,9 @@ ipListenErrX err.l 677 ipReuseaddrErrX err.l 667 ipSocketErrX err.l 652 ipV6onlyErrX err.l 662 -isBlankE_F sym.l 696 +isBlankE_F sym.l 704 isInternEXY_F sym.l 37 -isLetterOrDigitA_F sym.l 3564 +isLetterOrDigitA_F sym.l 3581 isLifeE_F db.l 525 isaCE_F flow.l 1012 jnlErrX err.l 618 @@ -1005,18 +1005,18 @@ lockFileAC io.l 28 lockJnl db.l 352 logBlock db.l 432 logFileno_A db.l 348 -lookupCE_E subr.l 3869 +lookupCE_E subr.l 3872 loopX flow.l 2167 loopY_FE flow.l 2406 lstErrAX err.l 450 lstErrEX err.l 452 -lupCE_E subr.l 3812 +lupCE_E subr.l 3815 main main.l 33 makeErrX err.l 471 markE gc.l 5 -matchCE_F subr.l 3144 +matchCE_F subr.l 3147 memberXY_FY main.l 1065 -metaCX_E sym.l 3329 +metaCX_E sym.l 3337 methodEY_FCYZ flow.l 791 mkCharA_A sym.l 573 mkStrEZ_A sym.l 650 @@ -1054,7 +1054,7 @@ outStringC io.l 4731 outStringS io.l 4729 outWordA io.l 4684 packAoACX_CX db.l 108 -packECX_CX sym.l 1292 +packECX_CX sym.l 1300 packExtNmX_E db.l 87 packOctACX_CX db.l 120 parseBCE_E io.l 3893 @@ -1071,18 +1071,18 @@ prE io.l 728 prExtNmX io.l 4696 prNameX io.l 4749 prTellEZ io.l 722 -preCEXY_F sym.l 1459 +preCEXY_F sym.l 1467 prinE io.l 4990 prinE_E io.l 4981 printE io.l 4768 printE_E io.l 4759 -propEC_E sym.l 2734 +propEC_E sym.l 2742 protErrEX err.l 386 pushCtlFilesY io.l 1858 pushErrFilesY io.l 1853 pushInFilesY io.l 1818 pushOutFilesY io.l 1842 -putACE sym.l 2480 +putACE sym.l 2488 putBlockBZ db.l 609 putSrcEC_E flow.l 25 putStdoutB io.l 4625 @@ -1144,7 +1144,7 @@ sigTermStop main.l 399 sighandler0 main.l 236 sighandlerE main.l 250 sighandlerX main.l 243 -sizeCE_C subr.l 2926 +sizeCE_C subr.l 2929 skipC_A io.l 2007 slowNbC_FA io.l 207 slowZ_F io.l 185 @@ -1155,7 +1155,7 @@ stkErrE err.l 397 stkErrEX err.l 401 stkErrX err.l 399 subAE_A big.l 1542 -subStrAE_F sym.l 1474 +subStrAE_F sym.l 1482 subuAE_A big.l 682 suparErrE err.l 540 symByteCX_FACX io.l 1088 @@ -1190,8 +1190,8 @@ unLockJnl db.l 357 undefinedCE err.l 689 undefinedCX err.l 691 undefinedEX err.l 693 -uniFillE_E subr.l 3883 -unifyCEYZ_F subr.l 3361 +uniFillE_E subr.l 3886 +unifyCEYZ_F subr.l 3364 uninternEXY sym.l 356 unsync io.l 1058 unwindC_Z err.l 165 @@ -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 3264 +wipeE sym.l 3272 wrBlockZ db.l 398 wrBytesCEX_F io.l 316 wrBytesErr err.l 563