From 81fa548f52b9523adf594fe101d2ac95748d7021 Mon Sep 17 00:00:00 2001 From: David Schmenk Date: Sun, 28 Jan 2024 14:07:59 -0800 Subject: [PATCH] No warmstart inside BRK handler on Mo match error --- src/toolsrc/plforth.pla | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/toolsrc/plforth.pla b/src/toolsrc/plforth.pla index 05db85b..b1cf36a 100644 --- a/src/toolsrc/plforth.pla +++ b/src/toolsrc/plforth.pla @@ -22,7 +22,7 @@ res[t_except] exitforth // byte nullstr = 0 word keyinbuf = @nullstr // Point somewhere benign for starters (updated in keyin) -word inbufptr +word inbufptr = @nullstr byte inref[SRCREFS] word previnptr[SRCREFS] // @@ -121,6 +121,9 @@ predef _space_#0, _spaces_(a)#0, _show_#0, _showstack_#0, _showrstack_#0 predef _cont_#0, _restart_#0, _bye_#0, _quit_#0 predef _abort_(a)#0, _doabortstr_(a,b)#0, _abortstr_#0 predef _compword_(dentry)#0, _compliteral_(a)#0, _execword_(dentry)#0, _isnum_(a,b)#2 +// +// Forth Vocabulary +// // DROP char d_drop = "DROP" byte = inline_flag | showcr_flag @@ -832,8 +835,8 @@ end // def warmstart#0 (@_reset_estack)()#0 - brk = 0 - brkcfa = 0 + //brk = 0 + //brkcfa = 0 RSP = RSTK_SIZE if state & comp_flag // Undo compilation state heaprelease(vlist) @@ -1077,7 +1080,7 @@ def _interpret_#0 ^inchars = inlen puts(inchars) puts(" ? No match\n") - warmstart + if !brk; warmstart; fin else if state & comp_flag _compliteral_(value)