diff options
| author | David E. O'Brien <obrien@FreeBSD.org> | 2000-07-07 00:07:08 +0000 |
|---|---|---|
| committer | David E. O'Brien <obrien@FreeBSD.org> | 2000-07-07 00:07:08 +0000 |
| commit | b5d4a42dbe8c117fa31f27f32b95d08ec696bea8 (patch) | |
| tree | b2eb1d36b810167c526f130e4a5dcde36816c7fe /sys/boot/common | |
| parent | 756c2616b87305aebcf7a8427897fab3547f45aa (diff) | |
Notes
Diffstat (limited to 'sys/boot/common')
| -rw-r--r-- | sys/boot/common/interp_forth.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/boot/common/interp_forth.c b/sys/boot/common/interp_forth.c index 83498988a7d9..251caf1e8f03 100644 --- a/sys/boot/common/interp_forth.c +++ b/sys/boot/common/interp_forth.c @@ -235,15 +235,21 @@ bf_init(void) ficlInitSystem(10000); /* Default dictionary ~4000 cells */ bf_vm = ficlNewVM(); + /* Put all private definitions in a "builtins" vocabulary */ + ficlExec(bf_vm, "vocabulary builtins also builtins definitions"); + /* Builtin constructor word */ ficlExec(bf_vm, BUILTIN_CONSTRUCTOR); /* make all commands appear as Forth words */ SET_FOREACH(cmdp, Xcommand_set) { ficlBuild((*cmdp)->c_name, bf_command, FW_DEFAULT); + ficlExec(bf_vm, "forth definitions builtins"); sprintf(create_buf, "builtin: %s", (*cmdp)->c_name); ficlExec(bf_vm, create_buf); + ficlExec(bf_vm, "builtins definitions"); } + ficlExec(bf_vm, "only forth definitions"); /* Export some version numbers so that code can detect the loader/host version */ ficlSetEnv("FreeBSD_version", __FreeBSD_version); @@ -267,12 +273,8 @@ int bf_run(char *line) { int result; - CELL id; - id = bf_vm->sourceID; - bf_vm->sourceID.i = -1; result = ficlExec(bf_vm, line); - bf_vm->sourceID = id; DEBUG("ficlExec '%s' = %d", line, result); switch (result) { |
