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 4beccd39d13c030c788334349728bf5c60642c36
parent 619bd3ea0951c202cadcb71f63d0d09b68b62374
Author: Commit-Bot <unknown>
Date:   Wed, 15 Sep 2010 17:57:15 +0000

Automatic commit from picoLisp.tgz, From: Wed, 15 Sep 2010 17:57:15 GMT
Diffstat:
Mlib/tags | 2+-
Msrc64/flow.l | 21++++++++++-----------
2 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/lib/tags b/lib/tags @@ -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 (3451 . "@src64/flow.l") +bye (3450 . "@src64/flow.l") caaaar (271 . "@src64/subr.l") caaadr (288 . "@src64/subr.l") caaar (99 . "@src64/subr.l") diff --git a/src64/flow.l b/src64/flow.l @@ -1,4 +1,4 @@ -# 13sep10abu +# 15sep10abu # (c) Software Lab. Alexander Burger (code 'redefMsgEC) @@ -3299,12 +3299,11 @@ ld4 (SpMiPipe 4) # Write end call closeOnExecAX end - push A # Create 'tell' pipe - cc pipe(S) # Open 'tell' pipe + sub S II # Create 'hear' and 'tell' pipes + cc pipe(S) # Open 'hear' pipe nul4 # OK? jnz pipeErrX - push A # Create 'hear' pipe - cc pipe(S) # Open 'hear' pipe + cc pipe(&(S 8)) # Open 'tell' pipe nul4 # OK? jnz pipeErrX ld4 (S) # Read end of 'hear' @@ -3406,14 +3405,14 @@ ld E (Fork) # Run '*Fork' call execE ld (Fork) Nil # Clear '*Fork' - pop A # Drop 'hear' and 'tell' pipes - pop A + add S II # Drop 'hear' and 'tell' pipes setc # Return "in child" ret end - push A # Save child's 'pid' cmp C (Children) # Children table full? + ldnz E A # No: Get 'pid' into E if eq # Yes + push A # Save child's 'pid' ld A (Child) # Get vector ld E C # Children add E (* 8 VI) # Eight more slots @@ -3427,9 +3426,10 @@ ld (A) 0 # Clear 'pid' dec E # Done? until z # Yes + pop E # Get 'pid' end add C (Child) # Point C to free 'child' entry - pop (C) # Set 'pid' + ld (C) E # Set 'pid' ld4 (S) # Close read end of 'hear' call closeAX ld4 (S 4) # Write end of 'hear' @@ -3442,8 +3442,7 @@ ld (C III) 0 # Init buffer offset ld (C IV) 0 # buffer count ld (C V) 0 # No buffer yet - pop A # Drop 'hear' and 'tell' pipes - pop A + add S II # Drop 'hear' and 'tell' pipes clrc # Return "in parent" ret