--- gforth/prims2x.fs 2003/01/30 16:14:31 1.130 +++ gforth/prims2x.fs 2003/03/08 19:52:05 1.133 @@ -63,7 +63,7 @@ warnings off \ warnings on include ./gray.fs -32 constant max-effect \ number of things on one side of a stack effect +128 constant max-effect \ number of things on one side of a stack effect 4 constant max-stacks \ the max. number of stacks (including inst-stream). 255 constant maxchar maxchar 1+ constant eof-char @@ -631,11 +631,9 @@ stack inst-stream IP Cell : compute-offset-out ( addr1 addr2 -- ) ['] stack-out compute-offset ; -: clear-stack ( stack -- ) - dup stack-in off stack-out off ; - : compute-offsets ( -- ) - ['] clear-stack map-stacks + prim prim-stacks-in max-stacks cells erase + prim prim-stacks-out max-stacks cells erase prim prim-effect-in prim prim-effect-in-end @ ['] compute-offset-in map-items prim prim-effect-out prim prim-effect-out-end @ ['] compute-offset-out map-items inst-stream stack-out @ 0= s" # can only be on the input side" ?print-error ; @@ -1331,8 +1329,7 @@ print-token ! : checksynclines ( -- ) \ when input points to a newline, check if the next line is a \ sync line. If it is, perform the appropriate actions. - begin - rawinput @ >r + rawinput @ begin >r s" #line " r@ over compare if rdrop 1 line +! EXIT endif @@ -1344,10 +1341,9 @@ print-token ! endif dup c@ nl-char <> 0= s" sync line syntax" ?print-error skipsynclines @ if - dup char+ rawinput ! + char+ dup rawinput ! rawinput @ c@ cookedinput @ c! endif - drop again ; : ?nextchar ( f -- )