| \ File specifiers 11jun93jaw |
\ File specifiers 11jun93jaw |
| |
|
| \ Copyright (C) 1995,1996,1997,1998,2000 Free Software Foundation, Inc. |
\ Copyright (C) 1995,1996,1997,1998,2000,2003 Free Software Foundation, Inc. |
| |
|
| \ This file is part of Gforth. |
\ This file is part of Gforth. |
| |
|
| \ include-file 07apr93py |
\ include-file 07apr93py |
| |
|
| has? new-input 0= [IF] |
has? new-input 0= [IF] |
| |
: loadfilename>r ( addr1 u1 -- R: addr2 u2 ) |
| |
r> loadfilename 2@ 2>r >r |
| |
loadfilename 2! ; |
| |
|
| |
: r>loadfilename ( R: addr u -- ) |
| |
r> 2r> loadfilename 2! >r ; |
| |
|
| : push-file ( -- ) r> |
: push-file ( -- ) r> |
| #fill-bytes @ >r |
#fill-bytes @ >r |
| loadline @ >r |
loadline @ >r |
| |
|
| : pop-file ( throw-code -- throw-code ) |
: pop-file ( throw-code -- throw-code ) |
| dup IF |
dup IF |
| source >in @ sourceline# sourcefilename >error |
input-error-data >error |
| THEN |
THEN |
| r> |
r> |
| r> >in ! |
r> >in ! |
| include-file1 throw throw ; |
include-file1 throw throw ; |
| |
|
| : include-file ( i*x wfileid -- j*x ) \ file |
: include-file ( i*x wfileid -- j*x ) \ file |
| loadfilename# @ >r |
s" *a file*" loadfilename>r |
| 3 loadfilename# ! \ "*a file*" |
|
| include-file1 |
include-file1 |
| r> loadfilename# ! |
r>loadfilename |
| throw throw ; |
throw throw ; |
| [THEN] |
[THEN] |
| |
|
| \ additional words only needed if there is file support |
\ additional words only needed if there is file support |
| |
|
| Warnings off |
Redefinitions-start |
| |
|
| : ( ( compilation 'ccc<close-paren>' -- ; run-time -- ) \ core,file paren |
: ( ( compilation 'ccc<close-paren>' -- ; run-time -- ) \ core,file paren |
| loadfile @ 0= IF postpone ( EXIT THEN |
loadfile @ 0= IF postpone ( EXIT THEN |
| THEN |
THEN |
| REPEAT ; immediate |
REPEAT ; immediate |
| |
|
| Warnings on |
Redefinitions-end |