summaryrefslogtreecommitdiff
path: root/sys/boot/common
diff options
context:
space:
mode:
authorDavid E. O'Brien <obrien@FreeBSD.org>2000-07-07 00:07:08 +0000
committerDavid E. O'Brien <obrien@FreeBSD.org>2000-07-07 00:07:08 +0000
commitb5d4a42dbe8c117fa31f27f32b95d08ec696bea8 (patch)
treeb2eb1d36b810167c526f130e4a5dcde36816c7fe /sys/boot/common
parent756c2616b87305aebcf7a8427897fab3547f45aa (diff)
Notes
Diffstat (limited to 'sys/boot/common')
-rw-r--r--sys/boot/common/interp_forth.c10
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) {