| |
|
| block-cold |
block-cold |
| |
|
| Defer flush-file |
Defer flush-blocks |
| |
|
| : open-blocks ( addr u -- ) \ gforth |
: open-blocks ( addr u -- ) \ gforth |
| \g use the file, whose name is given by @var{addr u}, as blocks file |
\g use the file, whose name is given by @var{addr u}, as blocks file |
| rot close-file throw 2dup file-status throw bin open-file throw |
rot close-file throw 2dup file-status throw bin open-file throw |
| >r 2drop r> |
>r 2drop r> |
| then |
then |
| block-fid @ IF flush-file block-fid @ close-file throw THEN |
block-fid @ IF flush-blocks block-fid @ close-file throw THEN |
| block-fid ! ; |
block-fid ! ; |
| |
|
| : use ( "file" -- ) \ gforth |
: use ( "file" -- ) \ gforth |
| save-buffers |
save-buffers |
| empty-buffers ; |
empty-buffers ; |
| |
|
| ' flush IS flush-file |
' flush IS flush-blocks |
| |
|
| : get-buffer ( n -- a-addr ) |
: get-buffer ( n -- a-addr ) |
| buffers mod buffer-struct drop * block-buffers @ + ; |
buffers mod buffer-struct drop * block-buffers @ + ; |