Loading prelude.fs +9 −2 Original line number Diff line number Diff line Loading @@ -17,10 +17,17 @@ \ You should have received a copy of the GNU General Public License \ along with this program. If not, see http://www.gnu.org/licenses/. Defer prelude-execute ( ... xt -- ... ) \G execute a prelude, only active in the outer interpreter : prelude ( xt -- ) \G prelude adds a prelude to the current definition without special \G compilation semantics. The prelude @i{xt} is executed by the outer \G interpreter before the words compilation or interpretation semantics is \G performed. dup [n:d execute ;] set->int [n:d execute default-name>comp ;] set->comp ; dup [n:d prelude-execute ;] set->int [n:d prelude-execute default-name>comp ;] set->comp ; :noname ( -- ) [: execute ['] drop is prelude-execute ;] is prelude-execute r> { r } defers int-execute r >r ; is int-execute startup.fs +0 −1 Original line number Diff line number Diff line Loading @@ -67,7 +67,6 @@ require debug.fs require dis-gdb.fs require struct0x.fs require libcc.fs require prelude.fs require str-exec.fs require gforthrc.fs require ansi.fs Loading unix/libc.fs +2 −1 Original line number Diff line number Diff line Loading @@ -115,7 +115,8 @@ $004 Constant POLLOUT [defined] int-execute [if] variable saved-errno 0 saved-errno ! :noname r> { r } saved-errno @ ->errno execute errno saved-errno ! r >r ; :noname r> { r } saved-errno @ ->errno defers int-execute errno saved-errno ! r >r ; is int-execute [then] Loading Loading
prelude.fs +9 −2 Original line number Diff line number Diff line Loading @@ -17,10 +17,17 @@ \ You should have received a copy of the GNU General Public License \ along with this program. If not, see http://www.gnu.org/licenses/. Defer prelude-execute ( ... xt -- ... ) \G execute a prelude, only active in the outer interpreter : prelude ( xt -- ) \G prelude adds a prelude to the current definition without special \G compilation semantics. The prelude @i{xt} is executed by the outer \G interpreter before the words compilation or interpretation semantics is \G performed. dup [n:d execute ;] set->int [n:d execute default-name>comp ;] set->comp ; dup [n:d prelude-execute ;] set->int [n:d prelude-execute default-name>comp ;] set->comp ; :noname ( -- ) [: execute ['] drop is prelude-execute ;] is prelude-execute r> { r } defers int-execute r >r ; is int-execute
startup.fs +0 −1 Original line number Diff line number Diff line Loading @@ -67,7 +67,6 @@ require debug.fs require dis-gdb.fs require struct0x.fs require libcc.fs require prelude.fs require str-exec.fs require gforthrc.fs require ansi.fs Loading
unix/libc.fs +2 −1 Original line number Diff line number Diff line Loading @@ -115,7 +115,8 @@ $004 Constant POLLOUT [defined] int-execute [if] variable saved-errno 0 saved-errno ! :noname r> { r } saved-errno @ ->errno execute errno saved-errno ! r >r ; :noname r> { r } saved-errno @ ->errno defers int-execute errno saved-errno ! r >r ; is int-execute [then] Loading