1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2024-06-09 10:29:35 +00:00

No warmstart inside BRK handler on Mo match error

This commit is contained in:
David Schmenk 2024-01-28 14:07:59 -08:00
parent 153e6f6f8b
commit 81fa548f52

View File

@ -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)