mirror of
https://github.com/forth-ev/VolksForth.git
synced 2025-01-09 13:32:05 +00:00
Decouple stream include from isfile. This allows the free use of USE
within a .fth stream source file.
This commit is contained in:
parent
5dc3bbef7c
commit
1f698d6638
File diff suppressed because one or more lines are too long
@ -58,23 +58,23 @@
|
|||||||
|
|
||||||
\ *** Block No. 3, Hexblock 3
|
\ *** Block No. 3, Hexblock 3
|
||||||
|
|
||||||
\ freadline probe-for-fb phz 06jan22
|
\ freadline probe-for-fb phz 06feb22
|
||||||
|
variable incfile
|
||||||
|
|
||||||
: freadline ( -- eof )
|
: freadline ( -- eof )
|
||||||
tib /tib bounds DO
|
tib /tib bounds DO
|
||||||
isfile@ fgetc dup eolf? under 0< IF I c! ELSE drop THEN
|
incfile @ fgetc dup eolf? under 0< IF I c! ELSE drop THEN
|
||||||
0< 0= IF I tib - #tib ! ENDLOOP tibeof @ exit THEN
|
0< 0= IF I tib - #tib ! ENDLOOP tibeof @ exit THEN
|
||||||
LOOP /tib #tib !
|
LOOP /tib #tib !
|
||||||
." warning: line exteeds max " /tib . cr
|
." warning: line exteeds max " /tib . cr
|
||||||
." extra chars ignored" cr
|
." extra chars ignored" cr
|
||||||
BEGIN isfile@ fgetc eolf? 1+ UNTIL tibeof @ ;
|
BEGIN incfile @ fgetc eolf? 1+ UNTIL tibeof @ ;
|
||||||
|
|
||||||
: probe-for-fb ( -- flag )
|
| : probe-for-fb ( -- flag )
|
||||||
\ probes whether current file looks like a block file
|
\ probes whether current file looks like a block file
|
||||||
/tib 2+ 0 DO isfile@ fgetc #lf = IF ENDLOOP false exit THEN
|
/tib 2+ 0 DO isfile@ fgetc #lf = IF ENDLOOP false exit THEN
|
||||||
LOOP true ;
|
LOOP true ;
|
||||||
|
|
||||||
|
|
||||||
\ *** Block No. 4, Hexblock 4
|
\ *** Block No. 4, Hexblock 4
|
||||||
|
|
||||||
\ save/restoretib phz 16jan22
|
\ save/restoretib phz 16jan22
|
||||||
@ -96,7 +96,7 @@
|
|||||||
|
|
||||||
\ *** Block No. 5, Hexblock 5
|
\ *** Block No. 5, Hexblock 5
|
||||||
|
|
||||||
\ interpret-via-tib include phz 16jan22
|
\ interpret-via-tib include phz 06feb22
|
||||||
|
|
||||||
: interpret-via-tib
|
: interpret-via-tib
|
||||||
BEGIN freadline >r .status >in off interpret
|
BEGIN freadline >r .status >in off interpret
|
||||||
@ -105,6 +105,7 @@
|
|||||||
: include ( -- )
|
: include ( -- )
|
||||||
pushfile use cr file?
|
pushfile use cr file?
|
||||||
probe-for-fb isfile@ freset IF 1 load close exit THEN
|
probe-for-fb isfile@ freset IF 1 load close exit THEN
|
||||||
|
incfile push isfile@ incfile !
|
||||||
savetib >r interpret-via-tib close r> restoretib ;
|
savetib >r interpret-via-tib close r> restoretib ;
|
||||||
|
|
||||||
: (stashquit stash[ stash> ! (quit ;
|
: (stashquit stash[ stash> ! (quit ;
|
||||||
@ -112,7 +113,6 @@
|
|||||||
' stashrestore IS 'restart
|
' stashrestore IS 'restart
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\ *** Block No. 6, Hexblock 6
|
\ *** Block No. 6, Hexblock 6
|
||||||
|
|
||||||
\ \ phz 16jan22
|
\ \ phz 16jan22
|
||||||
|
Loading…
Reference in New Issue
Block a user