commit 77e550ca575b6cd3705c9167d02a0a28b9772a29
parent a3a9cda6394821d92d47854d37069e6f5fc14925
Author: Alexander Burger <abu@software-lab.de>
Date: Sat, 24 Nov 2012 14:42:29 +0100
Bug for empty 'env', 'trail' and 'up'
Diffstat:
M | lib/map | | | 48 | ++++++++++++++++++++++++------------------------ |
M | src64/main.l | | | 30 | +++++++++++++++++++++--------- |
M | src64/tags | | | 288 | ++++++++++++++++++++++++------------------------------------------------------- |
3 files changed, 132 insertions(+), 234 deletions(-)
diff --git a/lib/map b/lib/map
@@ -32,9 +32,9 @@ and (1624 . "@src64/flow.l")
any (3979 . "@src64/io.l")
append (1338 . "@src64/subr.l")
apply (713 . "@src64/apply.l")
-arg (2466 . "@src64/main.l")
-args (2442 . "@src64/main.l")
-argv (3089 . "@src64/main.l")
+arg (2478 . "@src64/main.l")
+args (2454 . "@src64/main.l")
+argv (3101 . "@src64/main.l")
as (139 . "@src64/flow.l")
asoq (3008 . "@src64/subr.l")
assoc (2973 . "@src64/subr.l")
@@ -65,7 +65,7 @@ call (3096 . "@src64/flow.l")
car (5 . "@src64/subr.l")
case (1965 . "@src64/flow.l")
catch (2467 . "@src64/flow.l")
-cd (2841 . "@src64/main.l")
+cd (2853 . "@src64/main.l")
cdaaar (464 . "@src64/subr.l")
cdaadr (487 . "@src64/subr.l")
cdaar (179 . "@src64/subr.l")
@@ -88,7 +88,7 @@ circ (816 . "@src64/subr.l")
circ? (2402 . "@src64/subr.l")
clip (1799 . "@src64/subr.l")
close (4392 . "@src64/io.l")
-cmd (3071 . "@src64/main.l")
+cmd (3083 . "@src64/main.l")
cnt (1413 . "@src64/apply.l")
co (2548 . "@src64/flow.l")
commit (1498 . "@src64/db.l")
@@ -99,9 +99,9 @@ connect (224 . "@src64/net.l")
cons (747 . "@src64/subr.l")
copy (1225 . "@src64/subr.l")
ctl (4265 . "@src64/io.l")
-ctty (2866 . "@src64/main.l")
+ctty (2878 . "@src64/main.l")
cut (1922 . "@src64/sym.l")
-date (2580 . "@src64/main.l")
+date (2592 . "@src64/main.l")
dbck (2113 . "@src64/db.l")
de (532 . "@src64/flow.l")
dec (2323 . "@src64/big.l")
@@ -111,7 +111,7 @@ del (1977 . "@src64/sym.l")
delete (1401 . "@src64/subr.l")
delq (1452 . "@src64/subr.l")
diff (2589 . "@src64/subr.l")
-dir (3001 . "@src64/main.l")
+dir (3013 . "@src64/main.l")
dm (545 . "@src64/flow.l")
do (2141 . "@src64/flow.l")
e (2928 . "@src64/flow.l")
@@ -120,7 +120,7 @@ env (599 . "@src64/main.l")
eof (3538 . "@src64/io.l")
eol (3529 . "@src64/io.l")
err (4245 . "@src64/io.l")
-errno (1468 . "@src64/main.l")
+errno (1480 . "@src64/main.l")
eval (175 . "@src64/flow.l")
ext (5157 . "@src64/io.l")
ext? (1157 . "@src64/sym.l")
@@ -128,7 +128,7 @@ extern (1023 . "@src64/sym.l")
extra (1269 . "@src64/flow.l")
extract (1218 . "@src64/apply.l")
fifo (2088 . "@src64/sym.l")
-file (2948 . "@src64/main.l")
+file (2960 . "@src64/main.l")
fill (3243 . "@src64/subr.l")
filter (1161 . "@src64/apply.l")
fin (2033 . "@src64/subr.l")
@@ -166,7 +166,7 @@ ifn (1865 . "@src64/flow.l")
in (4205 . "@src64/io.l")
inc (2256 . "@src64/big.l")
index (2637 . "@src64/subr.l")
-info (2903 . "@src64/main.l")
+info (2915 . "@src64/main.l")
intern (998 . "@src64/sym.l")
ipid (3215 . "@src64/flow.l")
isa (967 . "@src64/flow.l")
@@ -183,7 +183,7 @@ lieu (1157 . "@src64/db.l")
line (3713 . "@src64/io.l")
lines (3866 . "@src64/io.l")
link (1172 . "@src64/subr.l")
-lisp (2137 . "@src64/main.l")
+lisp (2149 . "@src64/main.l")
list (887 . "@src64/subr.l")
listen (157 . "@src64/net.l")
lit (150 . "@src64/flow.l")
@@ -222,10 +222,10 @@ n== (2087 . "@src64/subr.l")
nT (2198 . "@src64/subr.l")
name (502 . "@src64/sym.l")
nand (1659 . "@src64/flow.l")
-native (1476 . "@src64/main.l")
+native (1488 . "@src64/main.l")
need (919 . "@src64/subr.l")
new (839 . "@src64/flow.l")
-next (2449 . "@src64/main.l")
+next (2461 . "@src64/main.l")
nil (1742 . "@src64/flow.l")
nond (1942 . "@src64/flow.l")
nor (1680 . "@src64/flow.l")
@@ -239,7 +239,7 @@ onOff (1738 . "@src64/sym.l")
one (1771 . "@src64/sym.l")
open (4349 . "@src64/io.l")
opid (3231 . "@src64/flow.l")
-opt (3192 . "@src64/main.l")
+opt (3204 . "@src64/main.l")
or (1640 . "@src64/flow.l")
out (4225 . "@src64/io.l")
pack (1270 . "@src64/sym.l")
@@ -272,9 +272,9 @@ push (1813 . "@src64/sym.l")
push1 (1849 . "@src64/sym.l")
put (2835 . "@src64/sym.l")
putl (3113 . "@src64/sym.l")
-pwd (2830 . "@src64/main.l")
+pwd (2842 . "@src64/main.l")
queue (2045 . "@src64/sym.l")
-quit (1178 . "@src64/main.l")
+quit (1190 . "@src64/main.l")
quote (134 . "@src64/flow.l")
rand (3003 . "@src64/big.l")
range (997 . "@src64/subr.l")
@@ -283,7 +283,7 @@ raw (451 . "@src64/main.l")
rd (5174 . "@src64/io.l")
read (2670 . "@src64/io.l")
replace (1499 . "@src64/subr.l")
-rest (2495 . "@src64/main.l")
+rest (2507 . "@src64/main.l")
reverse (1678 . "@src64/subr.l")
rewind (5140 . "@src64/io.l")
rollback (1898 . "@src64/db.l")
@@ -309,7 +309,7 @@ stem (1989 . "@src64/subr.l")
str (4033 . "@src64/io.l")
str? (1136 . "@src64/sym.l")
strip (1576 . "@src64/subr.l")
-struct (1928 . "@src64/main.l")
+struct (1940 . "@src64/main.l")
sub? (1569 . "@src64/sym.l")
sum (1460 . "@src64/apply.l")
super (1225 . "@src64/flow.l")
@@ -325,9 +325,9 @@ text (1398 . "@src64/sym.l")
throw (2493 . "@src64/flow.l")
tick (3183 . "@src64/flow.l")
till (3624 . "@src64/io.l")
-time (2713 . "@src64/main.l")
+time (2725 . "@src64/main.l")
touch (1172 . "@src64/sym.l")
-trail (695 . "@src64/main.l")
+trail (698 . "@src64/main.l")
trim (1759 . "@src64/subr.l")
try (1177 . "@src64/flow.l")
type (920 . "@src64/flow.l")
@@ -335,13 +335,13 @@ udp (301 . "@src64/net.l")
unify (3938 . "@src64/subr.l")
unless (1901 . "@src64/flow.l")
until (2085 . "@src64/flow.l")
-up (760 . "@src64/main.l")
+up (766 . "@src64/main.l")
upp? (3393 . "@src64/sym.l")
uppc (3460 . "@src64/sym.l")
use (1573 . "@src64/flow.l")
-usec (2818 . "@src64/main.l")
+usec (2830 . "@src64/main.l")
val (1588 . "@src64/sym.l")
-version (3206 . "@src64/main.l")
+version (3218 . "@src64/main.l")
wait (3164 . "@src64/io.l")
when (1884 . "@src64/flow.l")
while (2061 . "@src64/flow.l")
diff --git a/src64/main.l b/src64/main.l
@@ -1,4 +1,4 @@
-# 16nov12abu
+# 24nov12abu
# (c) Software Lab. Alexander Burger
(code 'Code)
@@ -607,8 +607,11 @@
if nz # No
push Y
ld Y (EnvBind) # Bindings
- null (Break) # In breakpoint?
- ldnz Y ((Y)) # Yes: Skip frame
+ null Y # Any?
+ if nz # Yes
+ null (Break) # In breakpoint?
+ ldnz Y ((Y)) # Yes: Skip frame
+ end
do
null Y # Bindings?
while nz # Yes
@@ -700,8 +703,11 @@
eval
ld Z E # Keep 'flg' in Z
ld X (EnvBind) # Bindings
- null (Break) # In breakpoint?
- ldnz X ((X)) # Yes: Skip frame
+ null X # Any?
+ if nz # Yes
+ null (Break) # In breakpoint?
+ ldnz X ((X)) # Yes: Skip frame
+ end
ld E Nil # Result
do
null X # Bindings?
@@ -772,8 +778,11 @@
cmp X Nil # NIL?
if eq # Yes
ld X (EnvBind) # Bindings
- null (Break) # In breakpoint?
- ldnz X ((X)) # Yes: Skip frame
+ null X # Any?
+ if nz # Yes
+ null (Break) # In breakpoint?
+ ldnz X ((X)) # Yes: Skip frame
+ end
do
null X # Bindings?
while nz # Yes
@@ -797,8 +806,11 @@
push Z
ld E (E CDR) # Last arg
ld Y (EnvBind) # Bindings
- null (Break) # In breakpoint?
- ldnz Y ((Y)) # Yes: Skip frame
+ null Y # Any?
+ if nz # Yes
+ null (Break) # In breakpoint?
+ ldnz Y ((Y)) # Yes: Skip frame
+ end
ld Z X # Value pointer
do
null Y # Bindings?
diff --git a/src64/tags b/src64/tags
@@ -48,120 +48,6 @@
CHAR_LETTER63,1499
CHAR_DIGIT64,1520
-sys/x86-64.linux.defs.l,1959
-ENOENT5,59
-EINTR6,108
-EBADF7,155
-EAGAIN8,194
-EACCES9,227
-EPIPE10,268
-ECONNRESET11,303
-O_RDONLY14,365
-O_WRONLY15,382
-O_RDWR16,399
-O_CREAT17,414
-O_EXCL18,431
-O_TRUNC19,448
-O_APPEND20,466
-F_GETFD21,486
-F_SETFD22,502
-FD_CLOEXEC23,518
-BUFSIZ26,546
-PIPE_BUF27,564
-MAXPATHLEN29,585
-RTLD_LAZY32,613
-RTLD_GLOBAL33,631
-FLOCK36,662
-L_TYPE37,702
-L_WHENCE38,722
-L_START39,744
-L_LEN40,760
-L_PID41,775
-SEEK_SET42,790
-SEEK_CUR43,807
-F_RDLCK44,824
-F_WRLCK45,840
-F_UNLCK46,856
-F_GETFL47,872
-F_SETFL48,888
-F_GETLK49,904
-F_SETLK50,920
-F_SETLKW51,936
-F_SETOWN52,953
-O_NONBLOCK53,970
-O_ASYNC54,992
-STAT57,1019
-ST_MODE58,1061
-ST_SIZE59,1083
-ST_MTIME60,1100
-S_IFMT61,1118
-S_IFDIR62,1144
-TMS65,1180
-TMS_UTIME66,1214
-TMS_STIME67,1232
-TERMIOS70,1261
-C_IFLAG71,1304
-C_LFLAG72,1320
-C_CC73,1337
-ISIG74,1351
-VMIN75,1364
-VTIME76,1377
-TCSADRAIN77,1391
-SIGACTION80,1419
-SIGSET_T81,1462
-SA_HANDLER82,1481
-SA_MASK83,1500
-SA_FLAGS84,1516
-SIG_DFL86,1536
-SIG_IGN87,1552
-SIG_UNBLOCK88,1568
-SIGHUP90,1589
-SIGINT91,1615
-SIGUSR192,1630
-SIGUSR293,1647
-SIGPIPE94,1664
-SIGALRM95,1681
-SIGTERM96,1698
-SIGCHLD97,1715
-SIGCONT98,1732
-SIGSTOP99,1749
-SIGTSTP100,1766
-SIGTTIN101,1783
-SIGTTOU102,1800
-SIGIO103,1817
-SIGNALS104,1832
-WNOHANG107,1894
-WUNTRACED108,1910
-FD_SET111,1938
-TM_SEC114,1975
-TM_MIN115,1990
-TM_HOUR116,2005
-TM_MDAY117,2021
-TM_MON118,2038
-TM_YEAR119,2054
-D_NAME122,2078
-SOCK_STREAM125,2105
-SOCK_DGRAM126,2125
-AF_UNSPEC127,2144
-AF_INET6128,2162
-SOL_SOCKET129,2180
-SO_REUSEADDR130,2199
-IPPROTO_IPV6131,2220
-IPV6_V6ONLY132,2242
-INET6_ADDRSTRLEN133,2263
-NI_MAXHOST135,2290
-NI_NAMEREQD136,2312
-SOCKADDR_IN6138,2333
-SIN6_FAMILY139,2355
-SIN6_PORT140,2375
-SIN6_ADDR141,2393
-ADDRINFO143,2412
-AI_FAMILY144,2430
-AI_SOCKTYPE145,2448
-AI_ADDRLEN146,2468
-AI_ADDR147,2488
-AI_NEXT148,2505
-
./glob.l,4297
Data4,51
AV7,77
@@ -408,7 +294,7 @@ sys/x86-64.linux.defs.l,1959
UndefErr1243,85271
DlErr1244,85300
-./main.l,2220
+./main.l,2221
Code4,51
Ret8,106
Retc10,127
@@ -446,86 +332,86 @@ sys/x86-64.linux.defs.l,1959
doStack548,13951
doAdr587,14794
doEnv599,15012
-doTrail695,17664
-doUp760,19213
-circE_YF833,20794
-equalAE_F865,21534
-compareAE_F998,24743
-memberXY_FY1160,28245
-doQuit1178,28596
-evExprCE_E1196,29013
-evListE_E1344,32647
-sharedLibC_FA1397,33783
-doErrno1468,35427
-doNative1476,35591
-natBufACZ_CZ1680,41393
-natRetACE_CE1779,43878
-doStruct1928,49278
-fetchCharC_AC1971,50158
-cbl2006,51027
-cbl12039,51743
-cbl22043,51859
-cbl32047,51905
-cbl42051,51957
-cbl52055,52009
-cbl62059,52061
-cbl72063,52113
-cbl82067,52165
-cbl92071,52217
-cbl102075,52269
-cbl112079,52322
-cbl122083,52376
-cbl132087,52430
-cbl142091,52484
-cbl152095,52538
-cbl162099,52592
-cbl172103,52646
-cbl182107,52700
-cbl192111,52754
-cbl202115,52808
-cbl212119,52862
-cbl222123,52916
-cbl232127,52970
-cbl242131,53024
-doLisp2137,53107
-lisp2181,54133
-execE2227,55247
-runE_E2239,55402
-funqE_FE2251,55554
-evSymX_E2313,56977
-evSymY_E2316,57035
-evSymE_E2318,57077
-xSymE_E2320,57114
-evCntXY_FE2341,57479
-evCntEX_FE2343,57523
-xCntEX_FE2345,57562
-xCntCX_FC2354,57739
-xCntAX_FA2363,57916
-boxE_E2372,58093
-putStringB2392,58550
-begString2404,58764
-endString_E2415,58990
-msec_A2429,59313
-doArgs2442,59587
-doNext2449,59701
-doArg2466,60017
-doRest2495,60659
-tmDateC_E2509,60906
-dateXYZ_E2519,61083
-doDate2580,62444
-tmTimeY_E2696,66039
-doTime2713,66372
-doUsec2818,69351
-doPwd2830,69617
-doCd2841,69872
-doCtty2866,70488
-doInfo2903,71422
-doFile2948,72517
-doDir3001,73753
-doCmd3071,75371
-doArgv3089,75830
-doOpt3192,78376
-doVersion3206,78707
+doTrail698,17720
+doUp766,19316
+circE_YF845,21000
+equalAE_F877,21740
+compareAE_F1010,24949
+memberXY_FY1172,28451
+doQuit1190,28802
+evExprCE_E1208,29219
+evListE_E1356,32853
+sharedLibC_FA1409,33989
+doErrno1480,35633
+doNative1488,35797
+natBufACZ_CZ1692,41599
+natRetACE_CE1791,44084
+doStruct1940,49484
+fetchCharC_AC1983,50364
+cbl2018,51233
+cbl12051,51949
+cbl22055,52065
+cbl32059,52111
+cbl42063,52163
+cbl52067,52215
+cbl62071,52267
+cbl72075,52319
+cbl82079,52371
+cbl92083,52423
+cbl102087,52475
+cbl112091,52528
+cbl122095,52582
+cbl132099,52636
+cbl142103,52690
+cbl152107,52744
+cbl162111,52798
+cbl172115,52852
+cbl182119,52906
+cbl192123,52960
+cbl202127,53014
+cbl212131,53068
+cbl222135,53122
+cbl232139,53176
+cbl242143,53230
+doLisp2149,53313
+lisp2193,54339
+execE2239,55453
+runE_E2251,55608
+funqE_FE2263,55760
+evSymX_E2325,57183
+evSymY_E2328,57241
+evSymE_E2330,57283
+xSymE_E2332,57320
+evCntXY_FE2353,57685
+evCntEX_FE2355,57729
+xCntEX_FE2357,57768
+xCntCX_FC2366,57945
+xCntAX_FA2375,58122
+boxE_E2384,58299
+putStringB2404,58756
+begString2416,58970
+endString_E2427,59196
+msec_A2441,59519
+doArgs2454,59793
+doNext2461,59907
+doArg2478,60223
+doRest2507,60865
+tmDateC_E2521,61112
+dateXYZ_E2531,61289
+doDate2592,62650
+tmTimeY_E2708,66245
+doTime2725,66578
+doUsec2830,69557
+doPwd2842,69823
+doCd2853,70078
+doCtty2878,70694
+doInfo2915,71628
+doFile2960,72723
+doDir3013,73959
+doCmd3083,75577
+doArgv3101,76036
+doOpt3204,78582
+doVersion3218,78913
./big.l,1059
zapZeroA_A6,106
@@ -1251,9 +1137,9 @@ sys/x86-64.linux.defs.l,1959
getUdpZ_FB370,9724
putUdpBZ377,9869
-sys/x86-64.linux.code.l,94
-errno_A5,67
-errnoC10,169
-wifstoppedS_F16,287
-wifsignaledS_F21,413
-wtermsigS_A28,568
+sys/emu.code.l,95
+errno_A8,134
+errnoC16,260
+wifstoppedS_F24,409
+wifsignaledS_F32,570
+wtermsigS_A40,725