version 1.26, 2003/01/22 10:59:55
|
version 1.31, 2006/02/04 22:09:12
|
Line 1
|
Line 1
|
\ require.fs |
\ require.fs |
|
|
\ 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. |
|
|
Line 72 create image-included-files 1 , A, ( poi
|
Line 72 create image-included-files 1 , A, ( poi
|
2/ cell / included-files 2! |
2/ cell / included-files 2! |
2! ; |
2! ; |
|
|
has? new-input [IF] |
|
: included1 ( i*x file-id c-addr u -- j*x ) \ gforth |
|
\G Include the file file-id with the name given by @var{c-addr u}. |
|
save-mem 2dup add-included-file ( file-id ) |
|
['] include-file2 catch |
|
throw ; |
|
[ELSE] |
|
: included1 ( i*x file-id c-addr u -- j*x ) \ gforth |
: included1 ( i*x file-id c-addr u -- j*x ) \ gforth |
\G Include the file file-id with the name given by @var{c-addr u}. |
\G Include the file file-id with the name given by @var{c-addr u}. |
save-mem 2dup loadfilename>r |
save-mem 2dup add-included-file |
add-included-file ( file-id ) |
includefilename 2@ 2>r 2dup includefilename 2! |
['] include-file2 catch |
['] read-loop execute-parsing-named-file |
r>loadfilename |
2r> includefilename 2! ; |
throw ; |
|
[THEN] |
|
|
|
: included ( i*x c-addr u -- j*x ) \ file |
: included ( i*x c-addr u -- j*x ) \ file |
\G @code{include-file} the file whose name is given by the string |
\G @code{include-file} the file whose name is given by the string |
\G @var{c-addr u}. |
\G @var{c-addr u}. |
open-fpath-file throw included1 ; |
open-fpath-file throw included1 ; |
|
|
: required ( i*x addr u -- j*x ) \ gforth |
: required ( i*x addr u -- i*x ) \ gforth |
\G @code{include-file} the file with the name given by @var{addr |
\G @code{include-file} the file with the name given by @var{addr |
\G u}, if it is not @code{included} (or @code{required}) |
\G u}, if it is not @code{included} (or @code{required}) |
\G already. Currently this works by comparing the name of the file |
\G already. Currently this works by comparing the name of the file |