commit 2246e5df4077085b0af9eb350c26298404b35f68
parent 1fcff285b756508b1585ea0bbef8b5ef987270be
Author: Alexander Burger <abu@software-lab.de>
Date: Thu, 29 Sep 2011 16:52:13 +0200
'load' preserves current namespace
Diffstat:
11 files changed, 653 insertions(+), 640 deletions(-)
diff --git a/CHANGES b/CHANGES
@@ -1,4 +1,5 @@
* XXsep11 picoLisp-3.0.8
+ 'load' preserves current namespace
"src64/tags" for 'vi' source access
'import' symbols function
Namespace support with 'symbols' (64-bit)
diff --git a/doc/refL.html b/doc/refL.html
@@ -409,7 +409,9 @@ operation, the results are printed to standard output (read-eval-print loop),
and <code>load</code> terminates when an empty line is entered. In any case,
<code>load</code> terminates upon end of file, or when <code>NIL</code> is read.
The index for transient symbols is cleared before and after the load, so that
-all transient symbols in the file have a local scope. Returns the value of the
+all transient symbols in a file have a local scope. If the namespace was
+switched (with <code><a href="refS.html#symbols">symbols</a></code>) while
+executing a file, it is restored to the previous one. Returns the value of the
last evaluated expression. See also <code><a
href="refS.html#script">script</a></code>, <code><a
href="refI.html#ipid">ipid</a></code>, <code><a
diff --git a/lib/tags b/lib/tags
@@ -1,5 +1,5 @@
-! (2854 . "@src64/flow.l")
-$ (2956 . "@src64/flow.l")
+! (2851 . "@src64/flow.l")
+$ (2953 . "@src64/flow.l")
% (2572 . "@src64/big.l")
& (2807 . "@src64/big.l")
* (2389 . "@src64/big.l")
@@ -8,17 +8,17 @@ $ (2956 . "@src64/flow.l")
- (2209 . "@src64/big.l")
-> (3913 . "@src64/subr.l")
/ (2513 . "@src64/big.l")
-: (3030 . "@src64/sym.l")
-:: (3054 . "@src64/sym.l")
-; (2952 . "@src64/sym.l")
+: (3034 . "@src64/sym.l")
+:: (3058 . "@src64/sym.l")
+; (2956 . "@src64/sym.l")
< (2207 . "@src64/subr.l")
<= (2237 . "@src64/subr.l")
<> (2144 . "@src64/subr.l")
= (2115 . "@src64/subr.l")
=0 (2173 . "@src64/subr.l")
-=: (2981 . "@src64/sym.l")
+=: (2985 . "@src64/sym.l")
== (2059 . "@src64/subr.l")
-==== (1078 . "@src64/sym.l")
+==== (1082 . "@src64/sym.l")
=T (2181 . "@src64/subr.l")
> (2267 . "@src64/subr.l")
>= (2297 . "@src64/subr.l")
@@ -28,25 +28,25 @@ accept (139 . "@src64/net.l")
adr (594 . "@src64/main.l")
alarm (471 . "@src64/main.l")
all (780 . "@src64/sym.l")
-and (1619 . "@src64/flow.l")
+and (1616 . "@src64/flow.l")
any (3965 . "@src64/io.l")
append (1338 . "@src64/subr.l")
apply (713 . "@src64/apply.l")
arg (2310 . "@src64/main.l")
args (2286 . "@src64/main.l")
argv (2930 . "@src64/main.l")
-as (144 . "@src64/flow.l")
+as (139 . "@src64/flow.l")
asoq (3005 . "@src64/subr.l")
assoc (2970 . "@src64/subr.l")
-at (2104 . "@src64/flow.l")
+at (2101 . "@src64/flow.l")
atom (2385 . "@src64/subr.l")
-bind (1357 . "@src64/flow.l")
+bind (1354 . "@src64/flow.l")
bit? (2748 . "@src64/big.l")
-bool (1719 . "@src64/flow.l")
-box (824 . "@src64/flow.l")
-box? (1110 . "@src64/sym.l")
+bool (1716 . "@src64/flow.l")
+box (821 . "@src64/flow.l")
+box? (1114 . "@src64/sym.l")
by (1669 . "@src64/apply.l")
-bye (3433 . "@src64/flow.l")
+bye (3430 . "@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 (3085 . "@src64/flow.l")
+call (3082 . "@src64/flow.l")
car (5 . "@src64/subr.l")
-case (1960 . "@src64/flow.l")
-catch (2462 . "@src64/flow.l")
+case (1957 . "@src64/flow.l")
+catch (2459 . "@src64/flow.l")
cd (2685 . "@src64/main.l")
cdaaar (464 . "@src64/subr.l")
cdaadr (487 . "@src64/subr.l")
@@ -83,75 +83,75 @@ cddr (79 . "@src64/subr.l")
cdr (17 . "@src64/subr.l")
chain (1141 . "@src64/subr.l")
char (3447 . "@src64/io.l")
-chop (1204 . "@src64/sym.l")
+chop (1208 . "@src64/sym.l")
circ (816 . "@src64/subr.l")
circ? (2402 . "@src64/subr.l")
clip (1799 . "@src64/subr.l")
-close (4370 . "@src64/io.l")
+close (4373 . "@src64/io.l")
cmd (2912 . "@src64/main.l")
cnt (1413 . "@src64/apply.l")
-co (2543 . "@src64/flow.l")
+co (2540 . "@src64/flow.l")
commit (1495 . "@src64/db.l")
con (725 . "@src64/subr.l")
conc (781 . "@src64/subr.l")
-cond (1914 . "@src64/flow.l")
+cond (1911 . "@src64/flow.l")
connect (201 . "@src64/net.l")
cons (747 . "@src64/subr.l")
copy (1225 . "@src64/subr.l")
-ctl (4248 . "@src64/io.l")
+ctl (4251 . "@src64/io.l")
ctty (2710 . "@src64/main.l")
-cut (1907 . "@src64/sym.l")
+cut (1911 . "@src64/sym.l")
date (2424 . "@src64/main.l")
dbck (2104 . "@src64/db.l")
-de (534 . "@src64/flow.l")
+de (529 . "@src64/flow.l")
dec (2323 . "@src64/big.l")
-def (453 . "@src64/flow.l")
-default (1771 . "@src64/sym.l")
-del (1962 . "@src64/sym.l")
+def (448 . "@src64/flow.l")
+default (1775 . "@src64/sym.l")
+del (1966 . "@src64/sym.l")
delete (1401 . "@src64/subr.l")
delq (1452 . "@src64/subr.l")
diff (2589 . "@src64/subr.l")
dir (2843 . "@src64/main.l")
-dm (546 . "@src64/flow.l")
-do (2136 . "@src64/flow.l")
-e (2917 . "@src64/flow.l")
-echo (4401 . "@src64/io.l")
+dm (542 . "@src64/flow.l")
+do (2133 . "@src64/flow.l")
+e (2914 . "@src64/flow.l")
+echo (4404 . "@src64/io.l")
env (606 . "@src64/main.l")
eof (3524 . "@src64/io.l")
eol (3515 . "@src64/io.l")
-err (4228 . "@src64/io.l")
+err (4231 . "@src64/io.l")
errno (1374 . "@src64/main.l")
-eval (180 . "@src64/flow.l")
-ext (5129 . "@src64/io.l")
-ext? (1145 . "@src64/sym.l")
-extern (1011 . "@src64/sym.l")
-extra (1264 . "@src64/flow.l")
+eval (175 . "@src64/flow.l")
+ext (5132 . "@src64/io.l")
+ext? (1149 . "@src64/sym.l")
+extern (1015 . "@src64/sym.l")
+extra (1261 . "@src64/flow.l")
extract (1218 . "@src64/apply.l")
-fifo (2073 . "@src64/sym.l")
+fifo (2077 . "@src64/sym.l")
file (2790 . "@src64/main.l")
fill (3240 . "@src64/subr.l")
filter (1161 . "@src64/apply.l")
fin (2033 . "@src64/subr.l")
-finally (2519 . "@src64/flow.l")
+finally (2516 . "@src64/flow.l")
find (1322 . "@src64/apply.l")
fish (1613 . "@src64/apply.l")
flg? (2445 . "@src64/subr.l")
flip (1699 . "@src64/subr.l")
-flush (5104 . "@src64/io.l")
-fold (3485 . "@src64/sym.l")
-for (2225 . "@src64/flow.l")
-fork (3259 . "@src64/flow.l")
+flush (5107 . "@src64/io.l")
+fold (3489 . "@src64/sym.l")
+for (2222 . "@src64/flow.l")
+fork (3256 . "@src64/flow.l")
format (2089 . "@src64/big.l")
free (2046 . "@src64/db.l")
from (3543 . "@src64/io.l")
full (1075 . "@src64/subr.l")
fun? (742 . "@src64/sym.l")
-gc (432 . "@src64/gc.l")
+gc (435 . "@src64/gc.l")
ge0 (2707 . "@src64/big.l")
-get (2876 . "@src64/sym.l")
+get (2880 . "@src64/sym.l")
getd (750 . "@src64/sym.l")
-getl (3174 . "@src64/sym.l")
-glue (1345 . "@src64/sym.l")
+getl (3178 . "@src64/sym.l")
+glue (1349 . "@src64/sym.l")
gt0 (2718 . "@src64/big.l")
hash (2976 . "@src64/big.l")
head (1820 . "@src64/subr.l")
@@ -159,26 +159,26 @@ heap (526 . "@src64/main.l")
hear (3228 . "@src64/io.l")
host (184 . "@src64/net.l")
id (1025 . "@src64/db.l")
-idx (2147 . "@src64/sym.l")
-if (1800 . "@src64/flow.l")
-if2 (1819 . "@src64/flow.l")
-ifn (1860 . "@src64/flow.l")
-in (4188 . "@src64/io.l")
+idx (2151 . "@src64/sym.l")
+if (1797 . "@src64/flow.l")
+if2 (1816 . "@src64/flow.l")
+ifn (1857 . "@src64/flow.l")
+in (4191 . "@src64/io.l")
inc (2256 . "@src64/big.l")
index (2637 . "@src64/subr.l")
info (2747 . "@src64/main.l")
-intern (986 . "@src64/sym.l")
-ipid (3204 . "@src64/flow.l")
-isa (961 . "@src64/flow.l")
-job (1424 . "@src64/flow.l")
+intern (990 . "@src64/sym.l")
+ipid (3201 . "@src64/flow.l")
+isa (958 . "@src64/flow.l")
+job (1421 . "@src64/flow.l")
journal (968 . "@src64/db.l")
key (3376 . "@src64/io.l")
-kill (3236 . "@src64/flow.l")
+kill (3233 . "@src64/flow.l")
last (2044 . "@src64/subr.l")
le0 (2693 . "@src64/big.l")
length (2741 . "@src64/subr.l")
-let (1474 . "@src64/flow.l")
-let? (1535 . "@src64/flow.l")
+let (1471 . "@src64/flow.l")
+let? (1532 . "@src64/flow.l")
lieu (1154 . "@src64/db.l")
line (3699 . "@src64/io.l")
lines (3852 . "@src64/io.l")
@@ -186,15 +186,15 @@ link (1172 . "@src64/subr.l")
lisp (1982 . "@src64/main.l")
list (887 . "@src64/subr.l")
listen (151 . "@src64/net.l")
-lit (155 . "@src64/flow.l")
-load (4165 . "@src64/io.l")
+lit (150 . "@src64/flow.l")
+load (4168 . "@src64/io.l")
lock (1182 . "@src64/db.l")
-loop (2168 . "@src64/flow.l")
-low? (3357 . "@src64/sym.l")
-lowc (3387 . "@src64/sym.l")
+loop (2165 . "@src64/flow.l")
+low? (3361 . "@src64/sym.l")
+lowc (3391 . "@src64/sym.l")
lst? (2415 . "@src64/subr.l")
lt0 (2682 . "@src64/big.l")
-lup (2336 . "@src64/sym.l")
+lup (2340 . "@src64/sym.l")
made (1107 . "@src64/subr.l")
make (1088 . "@src64/subr.l")
map (849 . "@src64/apply.l")
@@ -210,9 +210,9 @@ max (2327 . "@src64/subr.l")
maxi (1511 . "@src64/apply.l")
member (2455 . "@src64/subr.l")
memq (2477 . "@src64/subr.l")
-meta (3277 . "@src64/sym.l")
-meth (1089 . "@src64/flow.l")
-method (1053 . "@src64/flow.l")
+meta (3281 . "@src64/sym.l")
+meth (1086 . "@src64/flow.l")
+method (1050 . "@src64/flow.l")
min (2356 . "@src64/subr.l")
mini (1562 . "@src64/apply.l")
mix (1260 . "@src64/subr.l")
@@ -221,136 +221,136 @@ n0 (2189 . "@src64/subr.l")
n== (2087 . "@src64/subr.l")
nT (2198 . "@src64/subr.l")
name (502 . "@src64/sym.l")
-nand (1654 . "@src64/flow.l")
+nand (1651 . "@src64/flow.l")
native (1382 . "@src64/main.l")
need (919 . "@src64/subr.l")
-new (835 . "@src64/flow.l")
+new (832 . "@src64/flow.l")
next (2293 . "@src64/main.l")
-nil (1737 . "@src64/flow.l")
-nond (1937 . "@src64/flow.l")
-nor (1675 . "@src64/flow.l")
-not (1727 . "@src64/flow.l")
+nil (1734 . "@src64/flow.l")
+nond (1934 . "@src64/flow.l")
+nor (1672 . "@src64/flow.l")
+not (1724 . "@src64/flow.l")
nth (685 . "@src64/subr.l")
num? (2426 . "@src64/subr.l")
-off (1708 . "@src64/sym.l")
+off (1712 . "@src64/sym.l")
offset (2677 . "@src64/subr.l")
-on (1693 . "@src64/sym.l")
-onOff (1723 . "@src64/sym.l")
-one (1756 . "@src64/sym.l")
-open (4332 . "@src64/io.l")
-opid (3220 . "@src64/flow.l")
+on (1697 . "@src64/sym.l")
+onOff (1727 . "@src64/sym.l")
+one (1760 . "@src64/sym.l")
+open (4335 . "@src64/io.l")
+opid (3217 . "@src64/flow.l")
opt (3033 . "@src64/main.l")
-or (1635 . "@src64/flow.l")
-out (4208 . "@src64/io.l")
-pack (1255 . "@src64/sym.l")
+or (1632 . "@src64/flow.l")
+out (4211 . "@src64/io.l")
+pack (1259 . "@src64/sym.l")
pair (2394 . "@src64/subr.l")
pass (754 . "@src64/apply.l")
pat? (728 . "@src64/sym.l")
path (1244 . "@src64/io.l")
peek (3431 . "@src64/io.l")
pick (1369 . "@src64/apply.l")
-pipe (4269 . "@src64/io.l")
+pipe (4272 . "@src64/io.l")
poll (3320 . "@src64/io.l")
pool (648 . "@src64/db.l")
-pop (1883 . "@src64/sym.l")
+pop (1887 . "@src64/sym.l")
port (5 . "@src64/net.l")
-pr (5212 . "@src64/io.l")
-pre? (1521 . "@src64/sym.l")
-prin (5028 . "@src64/io.l")
-prinl (5042 . "@src64/io.l")
-print (5068 . "@src64/io.l")
-println (5099 . "@src64/io.l")
-printsp (5084 . "@src64/io.l")
+pr (5215 . "@src64/io.l")
+pre? (1525 . "@src64/sym.l")
+prin (5031 . "@src64/io.l")
+prinl (5045 . "@src64/io.l")
+print (5071 . "@src64/io.l")
+println (5102 . "@src64/io.l")
+printsp (5087 . "@src64/io.l")
prior (2713 . "@src64/subr.l")
-prog (1755 . "@src64/flow.l")
-prog1 (1763 . "@src64/flow.l")
-prog2 (1780 . "@src64/flow.l")
-prop (2907 . "@src64/sym.l")
+prog (1752 . "@src64/flow.l")
+prog1 (1760 . "@src64/flow.l")
+prog2 (1777 . "@src64/flow.l")
+prop (2911 . "@src64/sym.l")
protect (516 . "@src64/main.l")
prove (3527 . "@src64/subr.l")
-push (1798 . "@src64/sym.l")
-push1 (1834 . "@src64/sym.l")
-put (2820 . "@src64/sym.l")
-putl (3092 . "@src64/sym.l")
+push (1802 . "@src64/sym.l")
+push1 (1838 . "@src64/sym.l")
+put (2824 . "@src64/sym.l")
+putl (3096 . "@src64/sym.l")
pwd (2674 . "@src64/main.l")
-queue (2030 . "@src64/sym.l")
+queue (2034 . "@src64/sym.l")
quit (1089 . "@src64/main.l")
-quote (139 . "@src64/flow.l")
+quote (134 . "@src64/flow.l")
rand (3003 . "@src64/big.l")
range (997 . "@src64/subr.l")
rank (3033 . "@src64/subr.l")
raw (449 . "@src64/main.l")
-rd (5146 . "@src64/io.l")
+rd (5149 . "@src64/io.l")
read (2656 . "@src64/io.l")
replace (1499 . "@src64/subr.l")
rest (2339 . "@src64/main.l")
reverse (1678 . "@src64/subr.l")
-rewind (5112 . "@src64/io.l")
+rewind (5115 . "@src64/io.l")
rollback (1889 . "@src64/db.l")
rot (848 . "@src64/subr.l")
-run (311 . "@src64/flow.l")
+run (306 . "@src64/flow.l")
sect (2541 . "@src64/subr.l")
seed (2961 . "@src64/big.l")
seek (1275 . "@src64/apply.l")
-send (1133 . "@src64/flow.l")
+send (1130 . "@src64/flow.l")
seq (1081 . "@src64/db.l")
-set (1592 . "@src64/sym.l")
-setq (1625 . "@src64/sym.l")
+set (1596 . "@src64/sym.l")
+setq (1629 . "@src64/sym.l")
sigio (487 . "@src64/main.l")
size (2806 . "@src64/subr.l")
skip (3501 . "@src64/io.l")
sort (3962 . "@src64/subr.l")
sp? (719 . "@src64/sym.l")
-space (5046 . "@src64/io.l")
+space (5049 . "@src64/io.l")
split (1592 . "@src64/subr.l")
stack (555 . "@src64/main.l")
-state (2004 . "@src64/flow.l")
+state (2001 . "@src64/flow.l")
stem (1989 . "@src64/subr.l")
str (4019 . "@src64/io.l")
-str? (1124 . "@src64/sym.l")
+str? (1128 . "@src64/sym.l")
strip (1576 . "@src64/subr.l")
-sub? (1554 . "@src64/sym.l")
+sub? (1558 . "@src64/sym.l")
sum (1460 . "@src64/apply.l")
-super (1220 . "@src64/flow.l")
+super (1217 . "@src64/flow.l")
sym (4005 . "@src64/io.l")
sym? (2434 . "@src64/subr.l")
symbols (934 . "@src64/sym.l")
sync (3188 . "@src64/io.l")
-sys (3056 . "@src64/flow.l")
-t (1746 . "@src64/flow.l")
+sys (3053 . "@src64/flow.l")
+t (1743 . "@src64/flow.l")
tail (1911 . "@src64/subr.l")
tell (3260 . "@src64/io.l")
-text (1383 . "@src64/sym.l")
-throw (2488 . "@src64/flow.l")
-tick (3172 . "@src64/flow.l")
+text (1387 . "@src64/sym.l")
+throw (2485 . "@src64/flow.l")
+tick (3169 . "@src64/flow.l")
till (3610 . "@src64/io.l")
time (2557 . "@src64/main.l")
-touch (1160 . "@src64/sym.l")
+touch (1164 . "@src64/sym.l")
trim (1759 . "@src64/subr.l")
-try (1174 . "@src64/flow.l")
-type (914 . "@src64/flow.l")
+try (1171 . "@src64/flow.l")
+type (911 . "@src64/flow.l")
udp (268 . "@src64/net.l")
unify (3935 . "@src64/subr.l")
-unless (1896 . "@src64/flow.l")
-until (2080 . "@src64/flow.l")
+unless (1893 . "@src64/flow.l")
+until (2077 . "@src64/flow.l")
up (697 . "@src64/main.l")
-upp? (3372 . "@src64/sym.l")
-uppc (3436 . "@src64/sym.l")
-use (1568 . "@src64/flow.l")
+upp? (3376 . "@src64/sym.l")
+uppc (3440 . "@src64/sym.l")
+use (1565 . "@src64/flow.l")
usec (2662 . "@src64/main.l")
-val (1573 . "@src64/sym.l")
+val (1577 . "@src64/sym.l")
version (3047 . "@src64/main.l")
wait (3150 . "@src64/io.l")
-when (1879 . "@src64/flow.l")
-while (2056 . "@src64/flow.l")
-wipe (3232 . "@src64/sym.l")
-with (1327 . "@src64/flow.l")
-wr (5229 . "@src64/io.l")
-xchg (1648 . "@src64/sym.l")
-xor (1696 . "@src64/flow.l")
+when (1876 . "@src64/flow.l")
+while (2053 . "@src64/flow.l")
+wipe (3236 . "@src64/sym.l")
+with (1324 . "@src64/flow.l")
+wr (5232 . "@src64/io.l")
+xchg (1652 . "@src64/sym.l")
+xor (1693 . "@src64/flow.l")
x| (2887 . "@src64/big.l")
-yield (2712 . "@src64/flow.l")
+yield (2709 . "@src64/flow.l")
yoke (1196 . "@src64/subr.l")
-zap (1174 . "@src64/sym.l")
-zero (1741 . "@src64/sym.l")
+zap (1178 . "@src64/sym.l")
+zero (1745 . "@src64/sym.l")
| (2847 . "@src64/big.l")
diff --git a/src64/err.l b/src64/err.l
@@ -149,6 +149,7 @@
ld C 0 # Top frame
call unwindC_Z # Unwind
ld (EnvProtect) 0 # Reset environments
+ ld (EnvIntern) pico
ld (EnvTask) Nil
ld (EnvArgs) 0
ld (EnvNext) 0
diff --git a/src64/flow.l b/src64/flow.l
@@ -1,4 +1,4 @@
-# 25sep11abu
+# 29sep11abu
# (c) Software Lab. Alexander Burger
(code 'redefMsgEC)
@@ -106,12 +106,7 @@
end
ret
-(code 'redefineCEX 0)
- num E # Need symbol
- jnz symErrEX
- sym E
- jz symErrEX
- call checkVarEX
+(code 'redefineCE 0)
ld A (E) # Current value
cmp A Nil # NIL?
if ne # NO
@@ -536,7 +531,8 @@
ld X (E CDR) # Args
ld E (X) # Symbol in E
ld C (X CDR) # Body in C
- call redefineCEX # Redefine
+ call needSymEX
+ call redefineCE # Redefine
pop X
ret
@@ -572,7 +568,8 @@
if ne # No
push C # Save class
ld C (Meth) # Get 'meth' code pointer
- call redefineCEX # Redefine
+ call needSymEX
+ call redefineCE # Redefine
pop C
end
ld A (Y CDR) # Explicit inheritance?
diff --git a/src64/gc.l b/src64/gc.l
@@ -1,4 +1,4 @@
-# 20sep11abu
+# 29sep11abu
# (c) Software Lab. Alexander Burger
# Mark data
@@ -91,13 +91,16 @@
null X # Done?
until eq # Yes
### Mark ###
- ld Y Intern # Mark globals
+ ld Y GcMark # Mark globals
do
ld E (Y) # Next global
call markE # Mark it
add Y I
cmp Y GcMarkEnd # Done?
until eq # Yes
+ ### Mark Env ###
+ ld E (EnvIntern) # Mark current namespace
+ call markE
### Mark stack(s) ###
ld Y L
do
diff --git a/src64/glob.l b/src64/glob.l
@@ -1,4 +1,4 @@
-# 16sep11abu
+# 29sep11abu
# (c) Software Lab. Alexander Burger
(data 'Data)
@@ -71,7 +71,7 @@
: DbLog word 0 # Transaction log file
# GC relevant data
-:: Intern word pico # Current namespace of internal symbols
+: GcMark
:: Transient word Nil # Short transient names
word Nil # Long transient names
: Alarm word Nil # Alarm handler
@@ -580,32 +580,33 @@
# Structures
: EnvCo # Coroutine environment
-:: Chr word 0 # Single-char buffer
-:: PutB word 0 # Character output function
-:: Get_A word 0 # Character input function
-:: InFile word 0 # Input file
-:: OutFile word 0 # Output file
+:: Chr word 0 # Single-char buffer
+:: PutB word 0 # Character output function
+:: Get_A word 0 # Character input function
+:: InFile word 0 # Input file
+:: OutFile word 0 # Output file
: Env # <Catch III> environment
-: EnvBind word 0 # <III> Bind frames (first item in Env)
-: EnvInFrames word 0 # <IV> Input frames
-: EnvOutFrames word 0 # <V> Output frames
-: EnvErrFrames word 0 # <VI> Error frames
-: EnvCtlFrames word 0 # <VII> Control frames
-: EnvArgs word 0 # Varargs frame
-: EnvNext word 0 # Next vararg
-: EnvCls word 0 # Method class
-: EnvKey word 0 # Method key
-: EnvApply word 0 # Apply frames
-: EnvMake word 0 # 'make' env
+: EnvBind word 0 # <III> Bind frames (first item in Env)
+: EnvInFrames word 0 # <IV> Input frames
+: EnvOutFrames word 0 # <V> Output frames
+: EnvErrFrames word 0 # <VI> Error frames
+: EnvCtlFrames word 0 # <VII> Control frames
+:: EnvIntern word pico # Current namespace of internal symbols
+: EnvArgs word 0 # Varargs frame
+: EnvNext word 0 # Next vararg
+: EnvCls word 0 # Method class
+: EnvKey word 0 # Method key
+: EnvApply word 0 # Apply frames
+: EnvMake word 0 # 'make' env
: EnvYoke word 0
-: EnvParseX word 0 # Parser status
+: EnvParseX word 0 # Parser status
: EnvParseC word 0
: EnvParseEOF word -1
: EnvMid # Must be aligned
-: EnvCo7 word 0 # Coroutines
-: EnvTask word Nil # Task list
-: EnvProtect word 0 # Signal protection
-: EnvTrace word 0 # Trace level
+: EnvCo7 word 0 # Coroutines
+: EnvTask word Nil # Task list
+: EnvProtect word 0 # Signal protection
+: EnvTrace word 0 # Trace level
: EnvEnd # Must be aligned
: OrgTermio skip TERMIOS # Original termio structure
@@ -1134,13 +1135,13 @@
hx2 ("0" "0" "0" "0" "0" "0" "0")
# Bytes
-:: Tio byte 0 # Terminal I/O
+:: Tio byte 0 # Terminal I/O
-: Repl byte 0 # REPL flag
-: PRepl byte 0 # Parent REPL
-: Jam byte 0 # Error jam
-: InBye byte 0 # Exit status
-: Sync byte 0 # Family IPC synchronization
+: Repl byte 0 # REPL flag
+: PRepl byte 0 # Parent REPL
+: Jam byte 0 # Error jam
+: InBye byte 0 # Exit status
+: Sync byte 0 # Family IPC synchronization
: Month bytes (31 31 28 31 30 31 30 31 31 30 31 30 31)
# Strings
diff --git a/src64/ht.l b/src64/ht.l
@@ -1,4 +1,4 @@
-# 20sep11abu
+# 29sep11abu
# (c) Software Lab. Alexander Burger
(data 'HtData)
@@ -217,7 +217,7 @@ align 8 asciz "<hr>"
call prExtNmX # Print external
else
push Y
- ld Y ((Intern))
+ ld Y ((EnvIntern))
call isInternEXY_F # Internal symbol?
ld C 0
if eq # Yes
diff --git a/src64/io.l b/src64/io.l
@@ -1,4 +1,4 @@
-# 20sep11abu
+# 29sep11abu
# (c) Software Lab. Alexander Burger
# Close file descriptor
@@ -849,7 +849,7 @@
ld B NIX # Output NIX
call (PutBinBZ)
else
- ld Y ((Intern))
+ ld Y ((EnvIntern))
call isInternEXY_F # Internal symbol?
ld C INTERN # Yes
ldnz C TRANSIENT # No
@@ -2116,7 +2116,7 @@
(code 'rdAtomBY_E) # X
link
- push (Intern) # <L II> Current symbol namespace
+ push (EnvIntern) # <L II> Current symbol namespace
push ZERO # <L I> Result
ld C 4 # Build name
ld X S
@@ -2133,7 +2133,7 @@
ld X 0 # Clear error context
atom (E) # Value must be a cell
jnz symNsErrEX
- ld (Intern) E # Switch symbol namespace
+ ld (EnvIntern) E # Switch symbol namespace
ld C 4 # Build new name
lea X (L I) # Safe
ld (X) ZERO
@@ -2163,7 +2163,7 @@
call findSymX_E # Find or create symbol
end
end
- ld (Intern) (L II) # Restore current symbol namespace
+ ld (EnvIntern) (L II) # Restore current symbol namespace
drop
ret
@@ -4089,6 +4089,7 @@
end
push Y
link
+ push (EnvIntern) # <L III> Keep current namespace
push ZERO # <L II>
push ZERO # <L I>
link
@@ -4100,8 +4101,7 @@
ld E Nil # Close transient scope
call doHide
do
- ld A ((InFiles)) # Get stdin
- cmp A (InFile) # Reading from file?
+ cmp ((InFiles)) (InFile) # Reading from file?
if ne # Yes
ld C 0 # No terminator
call readC_E # Read expression
@@ -4129,8 +4129,7 @@
cmp E Nil
while ne
ld (L I) E # Save read expression
- ld A ((InFiles)) # Get stdin
- cmp A (InFile) # Reading from file?
+ cmp ((InFiles)) (InFile) # Reading from file?
if nz # Yes
10 eval # Evaluate
else
@@ -4153,6 +4152,10 @@
end
ld (L I) E # Save result
loop
+ null ((InFile) VI) # File?
+ if nz # Yes
+ ld (EnvIntern) (L III) # Restore namespace
+ end
call popInFiles
ld E Nil # Close transient scope
call doHide
@@ -4791,7 +4794,7 @@
ret
end
push Y
- ld Y ((Intern))
+ ld Y ((EnvIntern))
call isInternEXY_F # Internal symbol?
if eq # Yes
cmp X (hex "2E2") # Dot?
diff --git a/src64/sym.l b/src64/sym.l
@@ -1,4 +1,4 @@
-# 24sep11abu
+# 29sep11abu
# (c) Software Lab. Alexander Burger
### Compare long names ###
@@ -256,7 +256,7 @@
(code 'findSymX_E 0) # Y
ld E 0 # No symbol yet
- ld Y ((Intern))
+ ld Y ((EnvIntern))
call internEXY_FE # New internal symbol?
jnc Ret # No
ld (E) Nil # Init to 'NIL'
@@ -534,7 +534,7 @@
push Y
ld X (E TAIL)
call nameX_X # Get name
- ld Y ((Intern)) # Internal symbol?
+ ld Y ((EnvIntern)) # Internal symbol?
call isInternEXY_F
pop Y
pop X
@@ -786,8 +786,8 @@
cmp (E) Nil # Internal trees?
if eq # Yes
cmp (E CDR) Nil # Short names?
- ldz E (((Intern))) # Yes
- ldnz E (((Intern)) I)
+ ldz E (((EnvIntern))) # Yes
+ ldnz E (((EnvIntern)) I)
else
cmp (E) TSym # Transient trees?
ldnz E Extern # No: External symbols
@@ -800,9 +800,9 @@
else
cmp E Nil # Nil?
if eq # Yes
- ld X (((Intern)) I) # Internal symbols
+ ld X (((EnvIntern)) I) # Internal symbols
call consTreeXE_E
- ld X (((Intern)))
+ ld X (((EnvIntern)))
else
cmp E TSym # T?
if eq # Yes
@@ -938,7 +938,7 @@
ld Y (E CDR) # Y on args
atom Y # Any?
if nz # No
- ld E (Intern) # Return current symbol namespace
+ ld E (EnvIntern) # Return current symbol namespace
else
ld E (Y) # Eval first
eval
@@ -952,11 +952,12 @@
atom (E) # Value must be a cell
jnz symNsErrEX
else
+ call checkVarEX
link
- push E # <L II> Save new symbol namespace
+ push E # <L III> Save new symbol namespace
ld E (Y)
eval+ # Eval source symbol namespace
- push E # <L I> Source
+ push E # <L II> Source
link
num E # Need symbol
jnz symErrEX
@@ -969,14 +970,17 @@
call cons_Y # Create namespace cell
ld (Y) Nil # Initialize
ld (Y CDR) Nil
- ld ((L II)) Y # Set in new symbol namespace
+ tuck Y # <L I> New value
+ link
call balanceXY # Balanced copy of short names
- ld X (((L I)) CDR) # Source long names
+ ld X (((L II)) CDR) # Source long names
call balanceXY # Balanced copy of long names
- ld E (L II) # Get new symbol namespace
+ ld C (L I) # Get value
+ ld E (L III) # And new symbol namespace
+ call redefineCE # Redefine
drop
end
- xchg (Intern) E # Set new symbol namespace, return old
+ xchg (EnvIntern) E # Set new symbol namespace, return old
end
pop Y
pop X
@@ -997,7 +1001,7 @@
cmp X ZERO # Any?
if ne # Yes
push Y
- ld Y ((Intern)) # Insert internal
+ ld Y ((EnvIntern)) # Insert internal
call internEXY_FE
pop Y
pop X
@@ -1134,7 +1138,7 @@
push Y
ld X (E TAIL) # Get name
call nameX_X
- ld Y ((Intern)) # Internal symbol?
+ ld Y ((EnvIntern)) # Internal symbol?
call isInternEXY_F
ldz E Nil # Return NIL
pop Y
@@ -1193,7 +1197,7 @@
push Y
ld X (E TAIL)
call nameX_X # Get name
- ld Y ((Intern))
+ ld Y ((EnvIntern))
call uninternEXY # Unintern symbol
pop Y
end
diff --git a/src64/tags b/src64/tags
@@ -9,16 +9,16 @@
AF_INET sys/x86-64.linux.defs.l 138
AV ./glob.l 7
AV0 ./glob.l 8
-Addr ./glob.l 614
+Addr ./glob.l 615
Adr ./glob.l 177
Alarm ./glob.l 77
-AllocErr ./glob.l 1157
-ArgErr ./glob.l 1186
-Arrow ./glob.l 1173
+AllocErr ./glob.l 1158
+ArgErr ./glob.l 1187
+Arrow ./glob.l 1174
At ./glob.l 158
At2 ./glob.l 159
At3 ./glob.l 160
-AtomErr ./glob.l 1192
+AtomErr ./glob.l 1193
Avail ./glob.l 11
BEG ./defs.l 44
BIG ./defs.l 35
@@ -27,15 +27,15 @@ BLKSIZE ./defs.l 54
BLKTAG ./defs.l 55
BSym ./glob.l 154
BUFSIZ sys/x86-64.linux.defs.l 26
-BadChain ./glob.l 1178
-BadCount ./glob.l 1179
-BadDot ./glob.l 1212
-BadFdErr ./glob.l 1207
-BadInput ./glob.l 1211
+BadChain ./glob.l 1179
+BadCount ./glob.l 1180
+BadDot ./glob.l 1213
+BadFdErr ./glob.l 1208
+BadInput ./glob.l 1212
BlkIndex ./glob.l 68
BlkLink ./glob.l 69
Break ./glob.l 50
-BrkErr ./glob.l 1201
+BrkErr ./glob.l 1202
Buf ./glob.l 12
BufEnd ./glob.l 54
Bye ./glob.l 179
@@ -50,20 +50,20 @@ CSym ./glob.l 153
C_CC sys/x86-64.linux.defs.l 73
C_IFLAG sys/x86-64.linux.defs.l 71
C_LFLAG sys/x86-64.linux.defs.l 72
-CaseBlocks ./glob.l 621
-CaseData ./glob.l 751
-CaseLower ./glob.l 1112
-CaseUpper ./glob.l 1088
+CaseBlocks ./glob.l 622
+CaseData ./glob.l 752
+CaseLower ./glob.l 1113
+CaseUpper ./glob.l 1089
Catch ./glob.l 20
-CbErr ./glob.l 1160
-CellErr ./glob.l 1191
+CbErr ./glob.l 1161
+CellErr ./glob.l 1192
Child ./glob.l 44
Children ./glob.l 43
Chr ./glob.l 583
-CircFree ./glob.l 1177
+CircFree ./glob.l 1178
Class ./glob.l 166
-CloseErr ./glob.l 1203
-CntErr ./glob.l 1188
+CloseErr ./glob.l 1204
+CntErr ./glob.l 1189
Code ./main.l 4
DB ./glob.l 144
DB1 ./defs.l 11
@@ -71,7 +71,7 @@ DBs ./glob.l 63
DIG ./defs.l 36
DOT ./defs.l 45
D_NAME sys/x86-64.linux.defs.l 122
-Dashes ./glob.l 1182
+Dashes ./glob.l 1183
Data ./glob.l 4
Db1 ./glob.l 562
DbBlock ./glob.l 66
@@ -79,16 +79,16 @@ DbFile ./glob.l 64
DbFiles ./glob.l 65
DbJnl ./glob.l 70
DbLog ./glob.l 71
-DbRdErr ./glob.l 1226
-DbSizErr ./glob.l 1228
-DbSyncErr ./glob.l 1220
-DbWrErr ./glob.l 1227
-DbfErr ./glob.l 1223
+DbRdErr ./glob.l 1227
+DbSizErr ./glob.l 1229
+DbSyncErr ./glob.l 1221
+DbWrErr ./glob.l 1228
+DbfErr ./glob.l 1224
Dbg ./glob.l 162
-Delim ./glob.l 1171
-DelimEnd ./glob.l 1172
-DivErr ./glob.l 1195
-DlErr ./glob.l 1237
+Delim ./glob.l 1172
+DelimEnd ./glob.l 1173
+DivErr ./glob.l 1196
+DlErr ./glob.l 1238
EACCES sys/x86-64.linux.defs.l 9
EAGAIN sys/x86-64.linux.defs.l 8
EBADF sys/x86-64.linux.defs.l 7
@@ -99,38 +99,39 @@ ENOENT sys/x86-64.linux.defs.l 5
EPIPE sys/x86-64.linux.defs.l 10
EXTERN ./defs.l 50
Env ./glob.l 588
-EnvApply ./glob.l 598
-EnvArgs ./glob.l 594
+EnvApply ./glob.l 599
+EnvArgs ./glob.l 595
EnvBind ./glob.l 589
-EnvCls ./glob.l 596
+EnvCls ./glob.l 597
EnvCo ./glob.l 582
-EnvCo7 ./glob.l 605
+EnvCo7 ./glob.l 606
EnvCtlFrames ./glob.l 593
-EnvEnd ./glob.l 609
+EnvEnd ./glob.l 610
EnvErrFrames ./glob.l 592
EnvInFrames ./glob.l 590
-EnvKey ./glob.l 597
-EnvMake ./glob.l 599
-EnvMid ./glob.l 604
-EnvNext ./glob.l 595
+EnvIntern ./glob.l 594
+EnvKey ./glob.l 598
+EnvMake ./glob.l 600
+EnvMid ./glob.l 605
+EnvNext ./glob.l 596
EnvOutFrames ./glob.l 591
-EnvParseC ./glob.l 602
-EnvParseEOF ./glob.l 603
-EnvParseX ./glob.l 601
-EnvProtect ./glob.l 607
-EnvTask ./glob.l 606
-EnvTrace ./glob.l 608
-EnvYoke ./glob.l 600
-EofErr ./glob.l 1209
+EnvParseC ./glob.l 603
+EnvParseEOF ./glob.l 604
+EnvParseX ./glob.l 602
+EnvProtect ./glob.l 608
+EnvTask ./glob.l 607
+EnvTrace ./glob.l 609
+EnvYoke ./glob.l 601
+EofErr ./glob.l 1210
Err ./glob.l 172
-ErrTok ./glob.l 1181
-ExecErr ./glob.l 1156
+ErrTok ./glob.l 1182
+ExecErr ./glob.l 1157
Ext ./glob.l 164
-ExtErr ./glob.l 1190
+ExtErr ./glob.l 1191
ExtN ./glob.l 45
Extern ./glob.l 564
Extn ./glob.l 46
-ExtraErr ./glob.l 1165
+ExtraErr ./glob.l 1166
FD_CLOEXEC sys/x86-64.linux.defs.l 23
FD_SET sys/x86-64.linux.defs.l 111
FLOCK sys/x86-64.linux.defs.l 36
@@ -145,21 +146,22 @@ F_SETLKW sys/x86-64.linux.defs.l 51
F_SETOWN sys/x86-64.linux.defs.l 52
F_UNLCK sys/x86-64.linux.defs.l 46
F_WRLCK sys/x86-64.linux.defs.l 45
-Flock ./glob.l 612
+Flock ./glob.l 613
Fork ./glob.l 178
-ForkErr ./glob.l 1205
+ForkErr ./glob.l 1206
GcCount ./glob.l 51
+GcMark ./glob.l 74
GcMarkEnd ./glob.l 129
GcSymEnd ./glob.l 568
GetBinZ_FB ./glob.l 30
Get_A ./glob.l 585
-Giveup ./glob.l 1155
+Giveup ./glob.l 1156
HEAP ./defs.l 5
HOSTENT sys/x86-64.linux.defs.l 125
H_ADDR_LIST sys/x86-64.linux.defs.l 128
H_LENGTH sys/x86-64.linux.defs.l 127
H_NAME sys/x86-64.linux.defs.l 126
-HashBlank ./glob.l 1162
+HashBlank ./glob.l 1163
Heaps ./glob.l 10
Hear ./glob.l 39
Home ./glob.l 9
@@ -174,20 +176,19 @@ ISIG sys/x86-64.linux.defs.l 74
ISym ./glob.l 150
IV ./defs.l 17
IX ./defs.l 22
-IdErr ./glob.l 1225
-IgnLog ./glob.l 1176
-InBye ./glob.l 1142
+IdErr ./glob.l 1226
+IgnLog ./glob.l 1177
+InBye ./glob.l 1143
InFDs ./glob.l 25
InFile ./glob.l 586
InFiles ./glob.l 26
-Intern ./glob.l 74
-IpBindErr ./glob.l 1233
-IpGetsocknameErr ./glob.l 1231
-IpListenErr ./glob.l 1234
-IpSetsockoptErr ./glob.l 1232
-IpSocketErr ./glob.l 1230
-Jam ./glob.l 1141
-JnlErr ./glob.l 1224
+IpBindErr ./glob.l 1234
+IpGetsocknameErr ./glob.l 1232
+IpListenErr ./glob.l 1235
+IpSetsockoptErr ./glob.l 1233
+IpSocketErr ./glob.l 1231
+Jam ./glob.l 1142
+JnlErr ./glob.l 1225
L_LEN sys/x86-64.linux.defs.l 40
L_PID sys/x86-64.linux.defs.l 41
L_START sys/x86-64.linux.defs.l 39
@@ -199,23 +200,23 @@ LineX ./glob.l 79
Link ./glob.l 19
Lisp ./glob.l 80
LispEnd ./glob.l 128
-LockErr ./glob.l 1222
-LstErr ./glob.l 1193
+LockErr ./glob.l 1223
+LstErr ./glob.l 1194
MAXPATHLEN sys/x86-64.linux.defs.l 29
-MakeErr ./glob.l 1197
+MakeErr ./glob.l 1198
MaxBlkSize ./glob.l 67
Meth ./glob.l 145
Mic ./glob.l 37
-Month ./glob.l 1144
+Month ./glob.l 1145
Msg ./glob.l 173
-MsgErr ./glob.l 1200
+MsgErr ./glob.l 1201
NIX ./defs.l 43
NSym ./glob.l 151
NUMBER ./defs.l 47
Nil ./glob.l 134
-NoFdErr ./glob.l 1208
+NoFdErr ./glob.l 1209
NoMemory ./main.l 211
-NumErr ./glob.l 1187
+NumErr ./glob.l 1188
ONE ./defs.l 9
OS ./glob.l 143
O_APPEND sys/x86-64.linux.defs.l 20
@@ -227,30 +228,30 @@ O_RDONLY sys/x86-64.linux.defs.l 14
O_RDWR sys/x86-64.linux.defs.l 16
O_TRUNC sys/x86-64.linux.defs.l 19
O_WRONLY sys/x86-64.linux.defs.l 15
-OpenErr ./glob.l 1202
-OrgTermio ./glob.l 611
+OpenErr ./glob.l 1203
+OrgTermio ./glob.l 612
OutFDs ./glob.l 27
OutFile ./glob.l 587
OutFiles ./glob.l 28
PIPE_BUF sys/x86-64.linux.defs.l 27
PPid ./glob.l 156
-PRepl ./glob.l 1140
+PRepl ./glob.l 1141
Penv ./glob.l 56
Pid ./glob.l 157
-PidSigMsg ./glob.l 1158
-PipeErr ./glob.l 1204
+PidSigMsg ./glob.l 1159
+PipeErr ./glob.l 1205
Pnl ./glob.l 57
-ProtErr ./glob.l 1183
+ProtErr ./glob.l 1184
PutB ./glob.l 584
PutBinBZ ./glob.l 29
-QuitMsg ./glob.l 1159
+QuitMsg ./glob.l 1160
Quote ./glob.l 146
RTLD_GLOBAL sys/x86-64.linux.defs.l 33
RTLD_LAZY sys/x86-64.linux.defs.l 32
-Redefined ./glob.l 1163
-ReentErr ./glob.l 1198
-RenErr ./glob.l 1196
-Repl ./glob.l 1139
+Redefined ./glob.l 1164
+ReentErr ./glob.l 1199
+RenErr ./glob.l 1197
+Repl ./glob.l 1140
Ret ./main.l 8
RetE_E ./main.l 28
RetNil ./main.l 22
@@ -259,7 +260,7 @@ Retc ./main.l 10
Retnc ./main.l 13
Retnz ./main.l 19
Retz ./main.l 16
-RolbLog ./glob.l 1175
+RolbLog ./glob.l 1176
Run ./glob.l 167
SA_FLAGS sys/x86-64.linux.defs.l 84
SA_HANDLER sys/x86-64.linux.defs.l 82
@@ -308,10 +309,10 @@ S_IFDIR sys/x86-64.linux.defs.l 62
S_IFMT sys/x86-64.linux.defs.l 61
Scl ./glob.l 165
Seed ./glob.l 31
-SelectErr ./glob.l 1213
+SelectErr ./glob.l 1214
Sep0 ./glob.l 52
Sep3 ./glob.l 53
-SetFD ./glob.l 1170
+SetFD ./glob.l 1171
Sig1 ./glob.l 169
Sig2 ./glob.l 170
Sigio ./glob.l 78
@@ -322,20 +323,20 @@ SpMiPipe ./glob.l 38
Spkr ./glob.l 36
Stack0 ./glob.l 15
Stacks ./glob.l 16
-StkErr ./glob.l 1185
+StkErr ./glob.l 1186
StkLimit ./glob.l 18
StkSize ./glob.l 17
StrC ./glob.l 48
StrX ./glob.l 47
-SuparErr ./glob.l 1210
-SuperErr ./glob.l 1164
-SymErr ./glob.l 1189
-SymNsErr ./glob.l 1184
+SuparErr ./glob.l 1211
+SuperErr ./glob.l 1165
+SymErr ./glob.l 1190
+SymNsErr ./glob.l 1185
SymTab ./glob.l 133
SymTabEnd ./glob.l 555
-Sync ./glob.l 1143
+Sync ./glob.l 1144
TAIL ./defs.l 40
-TBuf ./glob.l 616
+TBuf ./glob.l 617
TCSADRAIN sys/x86-64.linux.defs.l 77
TERMIOS sys/x86-64.linux.defs.l 70
TMS sys/x86-64.linux.defs.l 65
@@ -353,27 +354,27 @@ TSym ./glob.l 147
Talking ./glob.l 42
Tell ./glob.l 40
TellBuf ./glob.l 41
-TellErr ./glob.l 1229
+TellErr ./glob.l 1230
Termio ./glob.l 21
TgOS ./glob.l 558
This ./glob.l 161
-ThrowErr ./glob.l 1166
+ThrowErr ./glob.l 1167
TickS ./glob.l 34
TickU ./glob.l 33
Time ./glob.l 22
-Tio ./glob.l 1137
-Tms ./glob.l 613
-TrSyncErr ./glob.l 1221
+Tio ./glob.l 1138
+Tms ./glob.l 614
+TrSyncErr ./glob.l 1222
Transient ./glob.l 75
-Trc1 ./glob.l 1167
-Trc2 ./glob.l 1168
-TruncErr ./glob.l 1219
+Trc1 ./glob.l 1168
+Trc2 ./glob.l 1169
+TruncErr ./glob.l 1220
Tsm ./glob.l 176
TtyPid ./glob.l 24
UDPMAX ./defs.l 58
USec ./glob.l 23
-UdpOvflErr ./glob.l 1235
-UndefErr ./glob.l 1236
+UdpOvflErr ./glob.l 1236
+UndefErr ./glob.l 1237
Uni ./glob.l 174
Up ./glob.l 171
V ./defs.l 18
@@ -382,24 +383,24 @@ VII ./defs.l 20
VIII ./defs.l 21
VMIN sys/x86-64.linux.defs.l 75
VTIME sys/x86-64.linux.defs.l 76
-VarErr ./glob.l 1194
+VarErr ./glob.l 1195
Version ./glob.l 571
WNOHANG sys/x86-64.linux.defs.l 107
WUNTRACED sys/x86-64.linux.defs.l 108
-WaitPidErr ./glob.l 1206
-WrBytesErr ./glob.l 1214
-WrChildErr ./glob.l 1215
-WrJnlErr ./glob.l 1217
-WrLogErr ./glob.l 1218
-WrSyncErr ./glob.l 1216
-YieldErr ./glob.l 1199
+WaitPidErr ./glob.l 1207
+WrBytesErr ./glob.l 1215
+WrChildErr ./glob.l 1216
+WrJnlErr ./glob.l 1218
+WrLogErr ./glob.l 1219
+WrSyncErr ./glob.l 1217
+YieldErr ./glob.l 1200
ZERO ./defs.l 8
Zap ./glob.l 163
-_a_ ./glob.l 1149
-_ap_ ./glob.l 1150
-_dot_ ./glob.l 1151
-_r_ ./glob.l 1147
-_w_ ./glob.l 1148
+_a_ ./glob.l 1150
+_ap_ ./glob.l 1151
+_dot_ ./glob.l 1152
+_r_ ./glob.l 1148
+_w_ ./glob.l 1149
addAE_A ./big.l 1517
adduAE_A ./big.l 540
allocAE_A ./main.l 207
@@ -408,13 +409,13 @@ anduAE_A ./big.l 325
anonymousX_FE ./io.l 2084
applyVarXYZ_E ./apply.l 358
applyXYZ_E ./apply.l 4
-argErrAX ./err.l 405
-argErrEX ./err.l 407
-atomErrAX ./err.l 443
-atomErrEX ./err.l 445
-badDotErrE ./err.l 552
-badFdErrEX ./err.l 524
-badInputErrB ./err.l 544
+argErrAX ./err.l 406
+argErrEX ./err.l 408
+atomErrAX ./err.l 444
+atomErrEX ./err.l 446
+badDotErrE ./err.l 553
+badFdErrEX ./err.l 525
+badInputErrB ./err.l 545
balanceCEY ./sym.l 902
balanceXY ./sym.l 884
begString ./main.l 2248
@@ -423,21 +424,21 @@ binReadZ_FE ./io.l 519
blkPeekCEZ ./db.l 392
blkPokeCEZ ./db.l 403
boxE_E ./main.l 2216
-boxNumA_A ./gc.l 869
-boxNumE_E ./gc.l 883
-boxNum_A ./gc.l 821
-boxNum_C ./gc.l 833
-boxNum_E ./gc.l 845
-boxNum_X ./gc.l 857
-brkErrX ./err.l 493
-brkLoadE_E ./flow.l 2862
+boxNumA_A ./gc.l 872
+boxNumE_E ./gc.l 886
+boxNum_A ./gc.l 824
+boxNum_C ./gc.l 836
+boxNum_E ./gc.l 848
+boxNum_X ./gc.l 860
+brkErrX ./err.l 494
+brkLoadE_E ./flow.l 2859
bufAoAC_C ./db.l 953
bufStringE_SZ ./io.l 1142
-byeE ./flow.l 3445
+byeE ./flow.l 3442
byteNumBCX_CX ./io.l 463
byteSymBCX_CX ./io.l 1291
-caseDataA_AC ./sym.l 3345
-caught ./flow.l 2478
+caseDataA_AC ./sym.l 3349
+caught ./flow.l 2475
cbl ./main.l 1851
cbl1 ./main.l 1884
cbl10 ./main.l 1920
@@ -463,18 +464,18 @@ cbl6 ./main.l 1904
cbl7 ./main.l 1908
cbl8 ./main.l 1912
cbl9 ./main.l 1916
-cellErrAX ./err.l 437
-cellErrEX ./err.l 439
+cellErrAX ./err.l 438
+cellErrEX ./err.l 440
charSymACX_CX ./io.l 1256
-checkVarAX ./err.l 364
-checkVarEX ./err.l 380
-checkVarYX ./err.l 372
+checkVarAX ./err.l 365
+checkVarEX ./err.l 381
+checkVarYX ./err.l 373
chopExtNmX_E ./db.l 133
circE_YF ./main.l 744
cleanUpY ./db.l 567
closeAX ./io.l 5
-closeErrEX ./err.l 505
-closeErrX ./err.l 503
+closeErrEX ./err.l 506
+closeErrX ./err.l 504
closeInFileA ./io.l 142
closeOnExecAX ./io.l 43
closeOutFileA ./io.l 164
@@ -484,75 +485,75 @@ cmpLongAX_F ./sym.l 5
cmpNumAE_F ./big.l 1567
cmpUserAX_F ./subr.l 4122
cmpuAE_F ./big.l 1587
-cntErrAX ./err.l 417
-cntErrCX ./err.l 419
-cntErrEX ./err.l 421
+cntErrAX ./err.l 418
+cntErrCX ./err.l 420
+cntErrEX ./err.l 422
compareAE_F ./main.l 909
-consAC_E ./gc.l 783
-consA_A ./gc.l 527
-consA_C ./gc.l 591
-consA_E ./gc.l 639
-consA_X ./gc.l 703
-consA_Y ./gc.l 751
-consA_Z ./gc.l 767
-consC_A ./gc.l 543
-consC_C ./gc.l 607
-consC_E ./gc.l 655
-consE_A ./gc.l 559
-consE_C ./gc.l 623
-consE_E ./gc.l 671
-consE_X ./gc.l 719
-consNumAC_A ./gc.l 897
-consNumAE_A ./gc.l 915
-consNumCA_C ./gc.l 933
-consNumCE_A ./gc.l 951
-consNumCE_C ./gc.l 968
-consNumCE_E ./gc.l 986
-consNumEA_A ./gc.l 1003
-consNumEA_E ./gc.l 1020
-consNumEC_E ./gc.l 1038
-consSymX_E ./gc.l 801
+consAC_E ./gc.l 786
+consA_A ./gc.l 530
+consA_C ./gc.l 594
+consA_E ./gc.l 642
+consA_X ./gc.l 706
+consA_Y ./gc.l 754
+consA_Z ./gc.l 770
+consC_A ./gc.l 546
+consC_C ./gc.l 610
+consC_E ./gc.l 658
+consE_A ./gc.l 562
+consE_C ./gc.l 626
+consE_E ./gc.l 674
+consE_X ./gc.l 722
+consNumAC_A ./gc.l 900
+consNumAE_A ./gc.l 918
+consNumCA_C ./gc.l 936
+consNumCE_A ./gc.l 954
+consNumCE_C ./gc.l 971
+consNumCE_E ./gc.l 989
+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
-consX_A ./gc.l 575
-consX_E ./gc.l 687
-consY_X ./gc.l 735
-cons_A ./gc.l 455
-cons_C ./gc.l 467
-cons_E ./gc.l 479
-cons_X ./gc.l 491
-cons_Y ./gc.l 503
-cons_Z ./gc.l 515
+consX_A ./gc.l 578
+consX_E ./gc.l 690
+consY_X ./gc.l 738
+cons_A ./gc.l 458
+cons_C ./gc.l 470
+cons_E ./gc.l 482
+cons_X ./gc.l 494
+cons_Y ./gc.l 506
+cons_Z ./gc.l 518
ctOpenEXY ./io.l 1670
currFdX_C ./io.l 1333
currFd_C ./io.l 1337
-cutLocalCX ./flow.l 2830
+cutLocalCX ./flow.l 2827
dateXYZ_E ./main.l 2363
dbAEX ./db.l 1328
dbFetchEX ./db.l 1316
dbFileBlkY_AC ./db.l 246
-dbRdErr ./err.l 627
-dbSizErr ./err.l 639
+dbRdErr ./err.l 628
+dbSizErr ./err.l 640
dbSizeX_A ./db.l 1221
-dbSyncErrX ./err.l 596
+dbSyncErrX ./err.l 597
dbTouchEX ./db.l 1442
-dbWrErr ./err.l 633
+dbWrErr ./err.l 634
dbZapE ./db.l 1474
dbfBuf_AF ./db.l 51
-dbfErrX ./err.l 612
+dbfErrX ./err.l 613
dbgS ./err.l 5
decE_A ./big.l 1504
divDone ./big.l 1255
-divErrX ./err.l 461
+divErrX ./err.l 462
divUnder ./big.l 1261
divuAE_A ./big.l 1045
-dlErrX ./err.l 691
+dlErrX ./err.l 692
doAbs ./big.l 2731
doAccept ./net.l 139
doAdd ./big.l 2171
doAdr ./main.l 594
doAlarm ./main.l 471
doAll ./sym.l 780
-doAnd ./flow.l 1619
+doAnd ./flow.l 1616
doAny ./io.l 3965
doAppend ./subr.l 1338
doApply ./apply.l 713
@@ -560,22 +561,22 @@ doArg ./main.l 2310
doArgs ./main.l 2286
doArgv ./main.l 2930
doArrow ./subr.l 3913
-doAs ./flow.l 144
+doAs ./flow.l 139
doAsoq ./subr.l 3005
doAssoc ./subr.l 2970
-doAt ./flow.l 2104
+doAt ./flow.l 2101
doAtom ./subr.l 2385
-doBind ./flow.l 1357
+doBind ./flow.l 1354
doBitAnd ./big.l 2807
doBitOr ./big.l 2847
doBitQ ./big.l 2748
doBitXor ./big.l 2887
-doBool ./flow.l 1719
-doBox ./flow.l 824
-doBoxQ ./sym.l 1110
-doBreak ./flow.l 2854
+doBool ./flow.l 1716
+doBox ./flow.l 821
+doBoxQ ./sym.l 1114
+doBreak ./flow.l 2851
doBy ./apply.l 1669
-doBye ./flow.l 3433
+doBye ./flow.l 3430
doCaaaar ./subr.l 271
doCaaadr ./subr.l 288
doCaaar ./subr.l 99
@@ -590,10 +591,10 @@ doCaddar ./subr.l 409
doCadddr ./subr.l 435
doCaddr ./subr.l 156
doCadr ./subr.l 45
-doCall ./flow.l 3085
+doCall ./flow.l 3082
doCar ./subr.l 5
-doCase ./flow.l 1960
-doCatch ./flow.l 2462
+doCase ./flow.l 1957
+doCatch ./flow.l 2459
doCd ./main.l 2685
doCdaaar ./subr.l 464
doCdaadr ./subr.l 487
@@ -612,41 +613,41 @@ doCddr ./subr.l 79
doCdr ./subr.l 17
doChain ./subr.l 1141
doChar ./io.l 3447
-doChop ./sym.l 1204
+doChop ./sym.l 1208
doCirc ./subr.l 816
doCircQ ./subr.l 2402
doClip ./subr.l 1799
-doClose ./io.l 4370
+doClose ./io.l 4373
doCmd ./main.l 2912
doCnt ./apply.l 1413
-doCo ./flow.l 2543
-doCol ./sym.l 3030
+doCo ./flow.l 2540
+doCol ./sym.l 3034
doCommit ./db.l 1495
doCon ./subr.l 725
doConc ./subr.l 781
-doCond ./flow.l 1914
+doCond ./flow.l 1911
doConnect ./net.l 201
doCons ./subr.l 747
doCopy ./subr.l 1225
-doCtl ./io.l 4248
+doCtl ./io.l 4251
doCtty ./main.l 2710
-doCut ./sym.l 1907
+doCut ./sym.l 1911
doDate ./main.l 2424
doDbck ./db.l 2104
-doDe ./flow.l 534
+doDe ./flow.l 529
doDec ./big.l 2323
-doDef ./flow.l 453
-doDefault ./sym.l 1771
-doDel ./sym.l 1962
+doDef ./flow.l 448
+doDefault ./sym.l 1775
+doDel ./sym.l 1966
doDelete ./subr.l 1401
doDelq ./subr.l 1452
doDiff ./subr.l 2589
doDir ./main.l 2843
doDiv ./big.l 2513
-doDm ./flow.l 546
-doDo ./flow.l 2136
-doE ./flow.l 2917
-doEcho ./io.l 4401
+doDm ./flow.l 542
+doDo ./flow.l 2133
+doE ./flow.l 2914
+doEcho ./io.l 4404
doEnv ./main.l 606
doEof ./io.l 3524
doEol ./io.l 3515
@@ -654,70 +655,70 @@ doEq ./subr.l 2059
doEq0 ./subr.l 2173
doEqT ./subr.l 2181
doEqual ./subr.l 2115
-doErr ./io.l 4228
+doErr ./io.l 4231
doErrno ./main.l 1374
-doEval ./flow.l 180
-doExt ./io.l 5129
-doExtQ ./sym.l 1145
-doExtern ./sym.l 1011
-doExtra ./flow.l 1264
+doEval ./flow.l 175
+doExt ./io.l 5132
+doExtQ ./sym.l 1149
+doExtern ./sym.l 1015
+doExtra ./flow.l 1261
doExtract ./apply.l 1218
-doFifo ./sym.l 2073
+doFifo ./sym.l 2077
doFile ./main.l 2790
doFill ./subr.l 3240
doFilter ./apply.l 1161
doFin ./subr.l 2033
-doFinally ./flow.l 2519
+doFinally ./flow.l 2516
doFind ./apply.l 1322
doFish ./apply.l 1613
doFlgQ ./subr.l 2445
doFlip ./subr.l 1699
-doFlush ./io.l 5104
-doFold ./sym.l 3485
-doFor ./flow.l 2225
-doFork ./flow.l 3259
+doFlush ./io.l 5107
+doFold ./sym.l 3489
+doFor ./flow.l 2222
+doFork ./flow.l 3256
doFormat ./big.l 2089
doFree ./db.l 2046
doFrom ./io.l 3543
doFull ./subr.l 1075
doFunQ ./sym.l 742
-doGc ./gc.l 432
+doGc ./gc.l 435
doGe ./subr.l 2297
doGe0 ./big.l 2707
-doGet ./sym.l 2876
+doGet ./sym.l 2880
doGetd ./sym.l 750
-doGetl ./sym.l 3174
-doGlue ./sym.l 1345
+doGetl ./sym.l 3178
+doGlue ./sym.l 1349
doGt ./subr.l 2267
doGt0 ./big.l 2718
doHash ./big.l 2976
doHead ./subr.l 1820
doHeap ./main.l 526
doHear ./io.l 3228
-doHide ./sym.l 1078
+doHide ./sym.l 1082
doHost ./net.l 184
doId ./db.l 1025
-doIdx ./sym.l 2147
-doIf ./flow.l 1800
-doIf2 ./flow.l 1819
-doIfn ./flow.l 1860
-doIn ./io.l 4188
+doIdx ./sym.l 2151
+doIf ./flow.l 1797
+doIf2 ./flow.l 1816
+doIfn ./flow.l 1857
+doIn ./io.l 4191
doInc ./big.l 2256
doIndex ./subr.l 2637
doInfo ./main.l 2747
-doIntern ./sym.l 986
-doIpid ./flow.l 3204
-doIsa ./flow.l 961
-doJob ./flow.l 1424
+doIntern ./sym.l 990
+doIpid ./flow.l 3201
+doIsa ./flow.l 958
+doJob ./flow.l 1421
doJournal ./db.l 968
doKey ./io.l 3376
-doKill ./flow.l 3236
+doKill ./flow.l 3233
doLast ./subr.l 2044
doLe ./subr.l 2237
doLe0 ./big.l 2693
doLength ./subr.l 2741
-doLet ./flow.l 1474
-doLetQ ./flow.l 1535
+doLet ./flow.l 1471
+doLetQ ./flow.l 1532
doLieu ./db.l 1154
doLine ./io.l 3699
doLines ./io.l 3852
@@ -725,16 +726,16 @@ doLink ./subr.l 1172
doLisp ./main.l 1982
doList ./subr.l 887
doListen ./net.l 151
-doLit ./flow.l 155
-doLoad ./io.l 4165
+doLit ./flow.l 150
+doLoad ./io.l 4168
doLock ./db.l 1182
-doLoop ./flow.l 2168
-doLowQ ./sym.l 3357
-doLowc ./sym.l 3387
+doLoop ./flow.l 2165
+doLowQ ./sym.l 3361
+doLowc ./sym.l 3391
doLstQ ./subr.l 2415
doLt ./subr.l 2207
doLt0 ./big.l 2682
-doLup ./sym.l 2336
+doLup ./sym.l 2340
doMade ./subr.l 1107
doMake ./subr.l 1088
doMap ./apply.l 849
@@ -750,9 +751,9 @@ doMax ./subr.l 2327
doMaxi ./apply.l 1511
doMember ./subr.l 2455
doMemq ./subr.l 2477
-doMeta ./sym.l 3277
-doMeth ./flow.l 1089
-doMethod ./flow.l 1053
+doMeta ./sym.l 3281
+doMeth ./flow.l 1086
+doMethod ./flow.l 1050
doMin ./subr.l 2356
doMini ./apply.l 1562
doMix ./subr.l 1260
@@ -764,146 +765,146 @@ doNEq0 ./subr.l 2189
doNEqT ./subr.l 2198
doNEqual ./subr.l 2144
doName ./sym.l 502
-doNand ./flow.l 1654
+doNand ./flow.l 1651
doNative ./main.l 1382
doNeed ./subr.l 919
-doNew ./flow.l 835
+doNew ./flow.l 832
doNext ./main.l 2293
-doNil ./flow.l 1737
-doNond ./flow.l 1937
-doNor ./flow.l 1675
-doNot ./flow.l 1727
+doNil ./flow.l 1734
+doNond ./flow.l 1934
+doNor ./flow.l 1672
+doNot ./flow.l 1724
doNth ./subr.l 685
doNumQ ./subr.l 2426
-doOff ./sym.l 1708
+doOff ./sym.l 1712
doOffset ./subr.l 2677
-doOn ./sym.l 1693
-doOnOff ./sym.l 1723
-doOne ./sym.l 1756
-doOpen ./io.l 4332
-doOpid ./flow.l 3220
+doOn ./sym.l 1697
+doOnOff ./sym.l 1727
+doOne ./sym.l 1760
+doOpen ./io.l 4335
+doOpid ./flow.l 3217
doOpt ./main.l 3033
-doOr ./flow.l 1635
-doOut ./io.l 4208
-doPack ./sym.l 1255
+doOr ./flow.l 1632
+doOut ./io.l 4211
+doPack ./sym.l 1259
doPair ./subr.l 2394
doPass ./apply.l 754
doPatQ ./sym.l 728
doPath ./io.l 1244
doPeek ./io.l 3431
doPick ./apply.l 1369
-doPipe ./io.l 4269
+doPipe ./io.l 4272
doPoll ./io.l 3320
doPool ./db.l 648
-doPop ./sym.l 1883
+doPop ./sym.l 1887
doPort ./net.l 5
-doPr ./io.l 5212
-doPreQ ./sym.l 1521
-doPrin ./io.l 5028
-doPrinl ./io.l 5042
-doPrint ./io.l 5068
-doPrintln ./io.l 5099
-doPrintsp ./io.l 5084
+doPr ./io.l 5215
+doPreQ ./sym.l 1525
+doPrin ./io.l 5031
+doPrinl ./io.l 5045
+doPrint ./io.l 5071
+doPrintln ./io.l 5102
+doPrintsp ./io.l 5087
doPrior ./subr.l 2713
-doProg ./flow.l 1755
-doProg1 ./flow.l 1763
-doProg2 ./flow.l 1780
-doProp ./sym.l 2907
-doPropCol ./sym.l 3054
+doProg ./flow.l 1752
+doProg1 ./flow.l 1760
+doProg2 ./flow.l 1777
+doProp ./sym.l 2911
+doPropCol ./sym.l 3058
doProtect ./main.l 516
doProve ./subr.l 3527
-doPush ./sym.l 1798
-doPush1 ./sym.l 1834
-doPut ./sym.l 2820
-doPutl ./sym.l 3092
+doPush ./sym.l 1802
+doPush1 ./sym.l 1838
+doPut ./sym.l 2824
+doPutl ./sym.l 3096
doPwd ./main.l 2674
-doQueue ./sym.l 2030
+doQueue ./sym.l 2034
doQuit ./main.l 1089
-doQuote ./flow.l 139
+doQuote ./flow.l 134
doRand ./big.l 3003
doRange ./subr.l 997
doRank ./subr.l 3033
doRaw ./main.l 449
-doRd ./io.l 5146
+doRd ./io.l 5149
doRead ./io.l 2656
doRem ./big.l 2572
doReplace ./subr.l 1499
doRest ./main.l 2339
doReverse ./subr.l 1678
-doRewind ./io.l 5112
+doRewind ./io.l 5115
doRollback ./db.l 1889
doRot ./subr.l 848
-doRun ./flow.l 311
+doRun ./flow.l 306
doSect ./subr.l 2541
doSeed ./big.l 2961
doSeek ./apply.l 1275
-doSemicol ./sym.l 2952
-doSend ./flow.l 1133
+doSemicol ./sym.l 2956
+doSend ./flow.l 1130
doSeq ./db.l 1081
-doSet ./sym.l 1592
-doSetCol ./sym.l 2981
-doSetq ./sym.l 1625
+doSet ./sym.l 1596
+doSetCol ./sym.l 2985
+doSetq ./sym.l 1629
doShift ./big.l 2627
doSigio ./main.l 487
doSize ./subr.l 2806
doSkip ./io.l 3501
doSort ./subr.l 3962
doSpQ ./sym.l 719
-doSpace ./io.l 5046
+doSpace ./io.l 5049
doSplit ./subr.l 1592
doStack ./main.l 555
-doState ./flow.l 2004
+doState ./flow.l 2001
doStem ./subr.l 1989
doStr ./io.l 4019
-doStrQ ./sym.l 1124
+doStrQ ./sym.l 1128
doStrip ./subr.l 1576
doSub ./big.l 2209
-doSubQ ./sym.l 1554
+doSubQ ./sym.l 1558
doSum ./apply.l 1460
-doSuper ./flow.l 1220
+doSuper ./flow.l 1217
doSym ./io.l 4005
doSymQ ./subr.l 2434
doSymbols ./sym.l 934
doSync ./io.l 3188
-doSys ./flow.l 3056
-doT ./flow.l 1746
+doSys ./flow.l 3053
+doT ./flow.l 1743
doTail ./subr.l 1911
doTell ./io.l 3260
-doText ./sym.l 1383
-doThrow ./flow.l 2488
-doTick ./flow.l 3172
+doText ./sym.l 1387
+doThrow ./flow.l 2485
+doTick ./flow.l 3169
doTill ./io.l 3610
doTime ./main.l 2557
-doTouch ./sym.l 1160
-doTrace ./flow.l 2956
+doTouch ./sym.l 1164
+doTrace ./flow.l 2953
doTrim ./subr.l 1759
-doTry ./flow.l 1174
-doType ./flow.l 914
+doTry ./flow.l 1171
+doType ./flow.l 911
doUdp ./net.l 268
doUnify ./subr.l 3935
-doUnless ./flow.l 1896
-doUntil ./flow.l 2080
+doUnless ./flow.l 1893
+doUntil ./flow.l 2077
doUp ./main.l 697
-doUppQ ./sym.l 3372
-doUppc ./sym.l 3436
-doUse ./flow.l 1568
+doUppQ ./sym.l 3376
+doUppc ./sym.l 3440
+doUse ./flow.l 1565
doUsec ./main.l 2662
-doVal ./sym.l 1573
+doVal ./sym.l 1577
doVersion ./main.l 3047
doWait ./io.l 3150
-doWhen ./flow.l 1879
-doWhile ./flow.l 2056
-doWipe ./sym.l 3232
-doWith ./flow.l 1327
-doWr ./io.l 5229
-doXchg ./sym.l 1648
-doXor ./flow.l 1696
-doYield ./flow.l 2712
+doWhen ./flow.l 1876
+doWhile ./flow.l 2053
+doWipe ./sym.l 3236
+doWith ./flow.l 1324
+doWr ./io.l 5232
+doXchg ./sym.l 1652
+doXor ./flow.l 1693
+doYield ./flow.l 2709
doYoke ./subr.l 1196
-doZap ./sym.l 1174
-doZero ./sym.l 1741
+doZap ./sym.l 1178
+doZero ./sym.l 1745
endString_E ./main.l 2259
-eofErr ./err.l 533
+eofErr ./err.l 534
eolA_F ./io.l 3684
equalAE_F ./main.l 776
erOpenEXY ./io.l 1628
@@ -915,16 +916,16 @@ evCntEX_FE ./main.l 2187
evCntXY_FE ./main.l 2185
evExprCE_E ./main.l 1107
evListE_E ./main.l 1251
-evMethodACXYZ_E ./flow.l 645
+evMethodACXYZ_E ./flow.l 642
evSymE_E ./main.l 2162
evSymX_E ./main.l 2157
evSymY_E ./main.l 2160
execE ./main.l 2071
execErrS ./main.l 187
-extErrEX ./err.l 433
+extErrEX ./err.l 434
extNmCE_X ./db.l 64
externX_E ./sym.l 266
-extraXY_FCYZ ./flow.l 1291
+extraXY_FCYZ ./flow.l 1288
fdRdSetCZL ./io.l 2718
fdSetCL_X ./io.l 2706
fdSetC_Y ./io.l 3309
@@ -934,7 +935,7 @@ fileObjE_AC ./db.l 237
fileObjX_AC ./db.l 211
fillE_FE ./subr.l 3258
findSymX_E ./sym.l 257
-finishE ./flow.l 3457
+finishE ./flow.l 3454
firstByteA_B ./sym.l 673
firstCharE_A ./sym.l 683
fishAXY ./apply.l 1640
@@ -944,8 +945,8 @@ fmtNum0AE_E ./big.l 1794
fmtNumAE_E ./big.l 1797
fmtScaleCX_CX ./big.l 2061
fmtWordACX_CX ./big.l 2046
-forkErrX ./err.l 514
-forkLispX_FE ./flow.l 3272
+forkErrX ./err.l 515
+forkLispX_FE ./flow.l 3269
fsyncDB ./db.l 929
funqE_FE ./main.l 2095
gc ./gc.l 65
@@ -953,19 +954,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 2660
+getEC_E ./sym.l 2664
getParse_A ./io.l 1795
getStdin_A ./io.l 1724
getUdpZ_FB ./net.l 321
-getnECX_E ./sym.l 2619
+getnECX_E ./sym.l 2623
giveupX ./main.l 180
halfA_A ./big.l 87
heapAlloc ./main.l 217
iSignalCE ./main.l 192
-idErrXL ./err.l 622
-idxDelXY_E ./sym.l 2277
-idxGetXY_E ./sym.l 2190
-idxPutXY_E ./sym.l 2207
+idErrXL ./err.l 623
+idxDelXY_E ./sym.l 2281
+idxGetXY_E ./sym.l 2194
+idxPutXY_E ./sym.l 2211
ignLog ./db.l 921
inReadyC_F ./io.l 2694
incE_A ./big.l 1491
@@ -975,47 +976,47 @@ initInFileCA_A ./io.l 67
initOutFileA_A ./io.l 106
initSeedE_E ./big.l 2927
internEXY_FE ./sym.l 75
-ipBindErrX ./err.l 666
-ipGetsocknameErrX ./err.l 656
-ipListenErrX ./err.l 671
-ipSetsockoptErrX ./err.l 661
-ipSocketErrX ./err.l 651
+ipBindErrX ./err.l 667
+ipGetsocknameErrX ./err.l 657
+ipListenErrX ./err.l 672
+ipSetsockoptErrX ./err.l 662
+ipSocketErrX ./err.l 652
isBlankE_F ./sym.l 696
isInternEXY_F ./sym.l 37
-isLetterOrDigitA_F ./sym.l 3550
+isLetterOrDigitA_F ./sym.l 3554
isLifeE_F ./db.l 525
-isaCE_F ./flow.l 1012
-jnlErrX ./err.l 617
+isaCE_F ./flow.l 1009
+jnlErrX ./err.l 618
jnlFileno_A ./db.l 344
-joinLocalCX ./flow.l 2843
+joinLocalCX ./flow.l 2840
lisp ./main.l 2025
loadAllX_E ./main.l 162
loadBEX_E ./io.l 4072
-lockErr ./err.l 606
+lockErr ./err.l 607
lockFileAC ./io.l 28
lockJnl ./db.l 352
logBlock ./db.l 432
logFileno_A ./db.l 348
lookupCE_E ./subr.l 3869
-loopX ./flow.l 2173
-loopY_FE ./flow.l 2412
-lstErrAX ./err.l 449
-lstErrEX ./err.l 451
+loopX ./flow.l 2170
+loopY_FE ./flow.l 2409
+lstErrAX ./err.l 450
+lstErrEX ./err.l 452
lupCE_E ./subr.l 3812
main ./main.l 33
-makeErrX ./err.l 470
+makeErrX ./err.l 471
markE ./gc.l 5
matchCE_F ./subr.l 3144
memberXY_FY ./main.l 1071
-metaCX_E ./sym.l 3319
-methodEY_FCYZ ./flow.l 791
+metaCX_E ./sym.l 3323
+methodEY_FCYZ ./flow.l 788
mkCharA_A ./sym.l 573
mkStrEZ_A ./sym.l 650
mkStrE_E ./sym.l 623
msec_A ./main.l 2273
-msgErrAX ./err.l 487
-msgErrEX ./err.l 489
-msgErrYX ./err.l 485
+msgErrAX ./err.l 488
+msgErrEX ./err.l 490
+msgErrYX ./err.l 486
muluAE_A ./big.l 859
nameA_A ./sym.l 469
nameE_E ./sym.l 477
@@ -1023,35 +1024,35 @@ nameX_X ./sym.l 485
nameY_Y ./sym.l 493
natRetACE_CE ./main.l 1668
needC ./gc.l 54
-needSymAX ./err.l 322
-needSymEX ./err.l 334
-needVarAX ./err.l 345
-needVarEX ./err.l 355
+needSymAX ./err.l 323
+needSymEX ./err.l 335
+needVarAX ./err.l 346
+needVarEX ./err.l 356
newBlock_X ./db.l 449
newIdEX_X ./db.l 492
-newline ./io.l 4657
-noFdErrX ./err.l 528
+newline ./io.l 4660
+noFdErrX ./err.l 529
nonblockingA_A ./io.l 51
-numErrAX ./err.l 411
-numErrEX ./err.l 413
+numErrAX ./err.l 412
+numErrEX ./err.l 414
oct3C_CA ./db.l 180
-openErrEX ./err.l 499
+openErrEX ./err.l 500
oruAE_A ./big.l 394
-outAoA ./io.l 4706
-outNameE ./io.l 4730
-outNumE ./io.l 4666
-outOctA ./io.l 4693
-outStringC ./io.l 4720
-outStringS ./io.l 4718
-outWordA ./io.l 4673
+outAoA ./io.l 4709
+outNameE ./io.l 4733
+outNumE ./io.l 4669
+outOctA ./io.l 4696
+outStringC ./io.l 4723
+outStringS ./io.l 4721
+outWordA ./io.l 4676
packAoACX_CX ./db.l 108
-packECX_CX ./sym.l 1288
+packECX_CX ./sym.l 1292
packExtNmX_E ./db.l 87
packOctACX_CX ./db.l 120
parseBCE_E ./io.l 3893
pathStringE_SZ ./io.l 1172
pico ./glob.l 142
-pipeErrX ./err.l 509
+pipeErrX ./err.l 510
popCtlFiles ./io.l 1961
popErrFiles ./io.l 1954
popInFiles ./io.l 1863
@@ -1059,24 +1060,24 @@ popOutFiles ./io.l 1914
prByteCEXY ./io.l 680
prCntCE ./io.l 703
prE ./io.l 728
-prExtNmX ./io.l 4685
-prNameX ./io.l 4738
+prExtNmX ./io.l 4688
+prNameX ./io.l 4741
prTellEZ ./io.l 722
-preCEXY_F ./sym.l 1455
-prinE ./io.l 4973
-prinE_E ./io.l 4967
-printE ./io.l 4754
-printE_E ./io.l 4748
-propEC_E ./sym.l 2730
-protErrEX ./err.l 385
+preCEXY_F ./sym.l 1459
+prinE ./io.l 4976
+prinE_E ./io.l 4970
+printE ./io.l 4757
+printE_E ./io.l 4751
+propEC_E ./sym.l 2734
+protErrEX ./err.l 386
pushCtlFilesY ./io.l 1858
pushErrFilesY ./io.l 1853
pushInFilesY ./io.l 1818
pushOutFilesY ./io.l 1842
-putACE ./sym.l 2476
+putACE ./sym.l 2480
putBlockBZ ./db.l 609
putSrcEC_E ./flow.l 25
-putStdoutB ./io.l 4614
+putStdoutB ./io.l 4617
putStringB ./main.l 2236
putTellBZ ./io.l 996
putUdpBZ ./net.l 328
@@ -1096,28 +1097,28 @@ rdSetRdyCL_F ./io.l 2742
readA_E ./io.l 2308
readC_E ./io.l 2492
redefMsgEC ./flow.l 4
-redefineCEX ./flow.l 109
-reentErrEX ./err.l 475
+redefineCE ./flow.l 109
+reentErrEX ./err.l 476
remDone ./big.l 1479
remUnder ./big.l 1485
remuAE_A ./big.l 1266
-renErrEX ./err.l 466
+renErrEX ./err.l 467
restart ./main.l 154
-resumeCoroutine ./flow.l 2569
-ret ./err.l 699
-retE_E ./err.l 722
-retNil ./err.l 716
-retNull ./err.l 713
-retT ./err.l 719
-retc ./err.l 701
-retnc ./err.l 704
-retnz ./err.l 710
-retz ./err.l 707
+resumeCoroutine ./flow.l 2566
+ret ./err.l 700
+retE_E ./err.l 723
+retNil ./err.l 717
+retNull ./err.l 714
+retT ./err.l 720
+retc ./err.l 702
+retnc ./err.l 705
+retnz ./err.l 711
+retz ./err.l 708
rewindLog ./db.l 925
runE_E ./main.l 2083
rwUnlockDbA ./db.l 269
s_isdirS_F sys/x86-64.linux.code.l 16
-selectErrX ./err.l 557
+selectErrX ./err.l 558
serverEY_F ./net.l 235
setAdrAS ./db.l 36
setAdrAZ ./db.l 22
@@ -1139,78 +1140,78 @@ sizeCE_C ./subr.l 2926
skipC_A ./io.l 2007
slowNbC_FA ./io.l 207
slowZ_F ./io.l 185
-space ./io.l 4661
+space ./io.l 4664
stdinByte_A ./io.l 425
-stkErr ./err.l 394
-stkErrE ./err.l 396
-stkErrEX ./err.l 400
-stkErrX ./err.l 398
+stkErr ./err.l 395
+stkErrE ./err.l 397
+stkErrEX ./err.l 401
+stkErrX ./err.l 399
subAE_A ./big.l 1542
-subStrAE_F ./sym.l 1470
+subStrAE_F ./sym.l 1474
subuAE_A ./big.l 682
-suparErrE ./err.l 539
+suparErrE ./err.l 540
symByteCX_FACX ./io.l 1088
symCharCX_FACX ./io.l 1109
-symErrAX ./err.l 425
-symErrEX ./err.l 429
-symErrYX ./err.l 427
-symNsErrEX ./err.l 389
+symErrAX ./err.l 426
+symErrEX ./err.l 430
+symErrYX ./err.l 428
+symNsErrEX ./err.l 390
symToNumXA_FE ./big.l 1681
tcSetC ./main.l 386
tcpAcceptA_FE ./net.l 104
tellBegZ_Z ./io.l 1004
tellEndAZ ./io.l 1011
-tellErr ./err.l 645
+tellErr ./err.l 646
tenfoldA_A ./big.l 157
testEscA_F ./io.l 2050
-throwErrZX ./flow.l 2513
+throwErrZX ./flow.l 2510
tmDateC_E ./main.l 2353
tmTimeY_E ./main.l 2540
tokenCE_E ./io.l 2522
-trSyncErrX ./err.l 601
-traceCY ./flow.l 3028
+trSyncErrX ./err.l 602
+traceCY ./flow.l 3025
trimE_E ./subr.l 1769
-truncErrX ./err.l 591
+truncErrX ./err.l 592
truncLog ./db.l 944
tryLockCE_FA ./db.l 299
twiceA_A ./big.l 47
twiceBigA_A ./big.l 57
-udpOvflErr ./err.l 676
+udpOvflErr ./err.l 677
unLockFileAC ./io.l 15
unLockJnl ./db.l 357
-undefinedCE ./err.l 683
-undefinedCX ./err.l 685
-undefinedEX ./err.l 687
+undefinedCE ./err.l 684
+undefinedCX ./err.l 686
+undefinedEX ./err.l 688
uniFillE_E ./subr.l 3883
unifyCEYZ_F ./subr.l 3361
uninternEXY ./sym.l 356
unsync ./io.l 1058
-unwindC_Z ./err.l 164
-varErrAX ./err.l 455
-varErrEX ./err.l 457
+unwindC_Z ./err.l 165
+varErrAX ./err.l 456
+varErrEX ./err.l 458
waitFdCEX_A ./io.l 2764
-waitPidErrX ./err.l 519
+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 3254
+wipeE ./sym.l 3258
wrBlockZ ./db.l 398
wrBytesCEX_F ./io.l 316
-wrBytesErr ./err.l 562
+wrBytesErr ./err.l 563
wrChildCXY ./io.l 352
-wrChildErr ./err.l 568
-wrJnlErr ./err.l 579
+wrChildErr ./err.l 569
+wrJnlErr ./err.l 580
wrLockDb ./db.l 262
wrLockFileC ./io.l 23
-wrLogErr ./err.l 585
+wrLogErr ./err.l 586
wrOpenEXY ./io.l 1495
wrSetCL_F ./io.l 2737
-wrSyncErrX ./err.l 574
+wrSyncErrX ./err.l 575
wtermsigS_A sys/x86-64.linux.code.l 34
xCntAX_FA ./main.l 2207
xCntCX_FC ./main.l 2198
xCntEX_FE ./main.l 2189
xSymE_E ./main.l 2164
xoruAE_A ./big.l 465
-yieldErrEX ./err.l 481
-yieldErrX ./err.l 479
+yieldErrEX ./err.l 482
+yieldErrX ./err.l 480
zapZeroA_A ./big.l 6