| \G @code{BLK}, set @code{>IN} to 0 and interpret. When the parse |
\G @code{BLK}, set @code{>IN} to 0 and interpret. When the parse |
| \G area is exhausted, restore the input source specification. |
\G area is exhausted, restore the input source specification. |
| block-input 0 new-tib dup loadline ! blk ! s" * a block*" loadfilename 2! |
block-input 0 new-tib dup loadline ! blk ! s" * a block*" loadfilename 2! |
| ['] interpret catch pop-file throw ; |
['] interpret catch pop-file rethrow ; |
| [ELSE] |
[ELSE] |
| : (source) ( -- c-addr u ) |
: (source) ( -- c-addr u ) |
| blk @ ?dup |
blk @ ?dup |
| dup loadline ! blk ! >in off ['] interpret catch |
dup loadline ! blk ! >in off ['] interpret catch |
| pop-file |
pop-file |
| r>loadfilename |
r>loadfilename |
| throw ; |
rethrow ; |
| [THEN] |
[THEN] |
| |
|
| : thru ( i*x n1 n2 -- j*x ) \ block-ext |
: thru ( i*x n1 n2 -- j*x ) \ block-ext |