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 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:
Mlib/map | 48++++++++++++++++++++++++------------------------
Msrc64/main.l | 30+++++++++++++++++++++---------
Msrc64/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