summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--jefs.fs10
1 files changed, 7 insertions, 3 deletions
diff --git a/jefs.fs b/jefs.fs
index c3e70b7..86b8a23 100644
--- a/jefs.fs
+++ b/jefs.fs
@@ -182,10 +182,14 @@ variable hld
: (words) ( lfa -- ) >nfa dup w@ swap 2 + swap say 2 spaces ;
: words latest @ begin ?dup 0<> while dup (words) @ repeat cr ;
-: (evaluate) ( c-addr u -- ) .s 0 >in ! ( u ) #tib ! ( c-addr ) tib ! interpret ;
+\ TODO causes segfault i think when switching back?
+: (evaluate) ( c-addr u -- ) 0 >in ! ( u ) #tib ! ( c-addr ) tib ! interpret ;
: evaluate ( c-addr u -- ) >r >r tib @ #tib @ >in @ r> r> (evaluate) >in ! #tib ! tib ! ;
+\ maybe the old TIB should be on retstack
+\ so stack undeflows don't fuck with INTERPRET
-: teststr3 s" 1 2 3 .s" .s ;
-
+\ : teststr3 s" 1 2 3 .s" ;
+\
+\ teststr3 evaluate
.free
bye