summaryrefslogtreecommitdiff
path: root/sys/boot/common/interp_forth.c
diff options
context:
space:
mode:
authorDaniel C. Sobral <dcs@FreeBSD.org>2000-06-07 21:57:23 +0000
committerDaniel C. Sobral <dcs@FreeBSD.org>2000-06-07 21:57:23 +0000
commit7632c1236383de68c778c58059bce6c4d9ee1816 (patch)
tree3e4e5ce9b2f7bf293b000c8c781c6d7450fd93e8 /sys/boot/common/interp_forth.c
parente812e4917ddb24187b7a789073cf302f8738453d (diff)
Notes
Diffstat (limited to 'sys/boot/common/interp_forth.c')
-rw-r--r--sys/boot/common/interp_forth.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/boot/common/interp_forth.c b/sys/boot/common/interp_forth.c
index 83498988a7d9..fa7925a7aa74 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, "also forth definitions");
sprintf(create_buf, "builtin: %s", (*cmdp)->c_name);
ficlExec(bf_vm, create_buf);
+ ficlExec(bf_vm, "previous 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);