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 861cbe9ffcec60e872050fc007560a0ebc67863d
parent d73f39e479aa14206b4a120faf3e982019b79eee
Author: Commit-Bot <unknown>
Date:   Fri, 11 Jun 2010 14:43:52 +0000

Automatic commit from picoLisp.tgz, From: Fri, 11 Jun 2010 14:43:52 GMT
Diffstat:
Mlib/tags | 22+++++++++++-----------
Msrc64/flow.l | 27+++++++++++++++------------
2 files changed, 26 insertions(+), 23 deletions(-)

diff --git a/lib/tags b/lib/tags @@ -1,5 +1,5 @@ -! (2861 . "@src64/flow.l") -$ (2963 . "@src64/flow.l") +! (2864 . "@src64/flow.l") +$ (2966 . "@src64/flow.l") % (2253 . "@src64/big.l") & (2474 . "@src64/big.l") * (2072 . "@src64/big.l") @@ -46,7 +46,7 @@ bool (1743 . "@src64/flow.l") box (841 . "@src64/flow.l") box? (999 . "@src64/sym.l") by (1553 . "@src64/apply.l") -bye (3438 . "@src64/flow.l") +bye (3441 . "@src64/flow.l") caaaar (271 . "@src64/subr.l") caaadr (288 . "@src64/subr.l") caaar (99 . "@src64/subr.l") @@ -61,7 +61,7 @@ caddar (409 . "@src64/subr.l") cadddr (435 . "@src64/subr.l") caddr (156 . "@src64/subr.l") cadr (45 . "@src64/subr.l") -call (3094 . "@src64/flow.l") +call (3097 . "@src64/flow.l") car (5 . "@src64/subr.l") case (1984 . "@src64/flow.l") catch (2484 . "@src64/flow.l") @@ -113,7 +113,7 @@ diff (2563 . "@src64/subr.l") dir (2507 . "@src64/main.l") dm (561 . "@src64/flow.l") do (2158 . "@src64/flow.l") -e (2924 . "@src64/flow.l") +e (2927 . "@src64/flow.l") echo (4183 . "@src64/io.l") env (605 . "@src64/main.l") eof (3323 . "@src64/io.l") @@ -138,7 +138,7 @@ flip (1686 . "@src64/subr.l") flush (4849 . "@src64/io.l") fold (3345 . "@src64/sym.l") for (2247 . "@src64/flow.l") -fork (3261 . "@src64/flow.l") +fork (3264 . "@src64/flow.l") format (1772 . "@src64/big.l") free (2034 . "@src64/db.l") from (3342 . "@src64/io.l") @@ -165,12 +165,12 @@ inc (1939 . "@src64/big.l") index (2611 . "@src64/subr.l") info (2411 . "@src64/main.l") intern (875 . "@src64/sym.l") -ipid (3206 . "@src64/flow.l") +ipid (3209 . "@src64/flow.l") isa (978 . "@src64/flow.l") job (1448 . "@src64/flow.l") journal (977 . "@src64/db.l") key (3173 . "@src64/io.l") -kill (3238 . "@src64/flow.l") +kill (3241 . "@src64/flow.l") last (2031 . "@src64/subr.l") length (2687 . "@src64/subr.l") let (1498 . "@src64/flow.l") @@ -233,7 +233,7 @@ on (1583 . "@src64/sym.l") onOff (1613 . "@src64/sym.l") one (1646 . "@src64/sym.l") open (4114 . "@src64/io.l") -opid (3222 . "@src64/flow.l") +opid (3225 . "@src64/flow.l") opt (2697 . "@src64/main.l") or (1659 . "@src64/flow.l") out (4008 . "@src64/io.l") @@ -311,13 +311,13 @@ super (1237 . "@src64/flow.l") sym (3804 . "@src64/io.l") sym? (2408 . "@src64/subr.l") sync (3026 . "@src64/io.l") -sys (3065 . "@src64/flow.l") +sys (3068 . "@src64/flow.l") t (1770 . "@src64/flow.l") tail (1898 . "@src64/subr.l") tell (3096 . "@src64/io.l") text (1272 . "@src64/sym.l") throw (2510 . "@src64/flow.l") -tick (3174 . "@src64/flow.l") +tick (3177 . "@src64/flow.l") till (3409 . "@src64/io.l") time (2221 . "@src64/main.l") touch (1049 . "@src64/sym.l") diff --git a/src64/flow.l b/src64/flow.l @@ -2758,18 +2758,21 @@ end ld E (L I) # Get result drop - ld C (Z (pack III "+(EnvMid-EnvCo)")) # Main routine's link - cmp L C # Local stack? - ldz L 0 - if ne # Yes - ld X (L) # Pointer to link - do - ld A (X) # Get link - cmp A C # Reached main routine's link? - while ne # No - ld X A # Follow link - loop - ld (X) 0 # Clear link + null L # Stack? + if nz # Yes + ld C (Z (pack III "+(EnvMid-EnvCo)")) # Main routine's link + cmp L C # Local stack? + ldz L 0 + if ne # Yes + ld X (L) # Pointer to link + do + ld A (X) # Get link + cmp A C # Reached main routine's link? + while ne # No + ld X A # Follow link + loop + ld (X) 0 # Clear link + end end push L # End of segment push Y # Save taget coroutine