diff --git a/images/apple/PLFORTH.PO b/images/apple/PLFORTH.PO index 4f6a5c2..124bbcd 100755 Binary files a/images/apple/PLFORTH.PO and b/images/apple/PLFORTH.PO differ diff --git a/src/toolsrc/plforth.pla b/src/toolsrc/plforth.pla index 681b721..4cd43c0 100644 --- a/src/toolsrc/plforth.pla +++ b/src/toolsrc/plforth.pla @@ -375,7 +375,7 @@ byte = imm_flag | componly_flag word = @d_endcase, 0, @_do_ // LEAVE char d_leave = "LEAVE" -byte = componly_flag +byte = componly_flag | showcr_flag word = @d_do, 0, @_leave_ // COMPILED LOOP ( not in vocabulary ) char d_doloop = "(DOLOOP)" @@ -475,7 +475,7 @@ byte = imm_flag word = @d_interponly, 0, @_immediate_ // EXIT char d_exit = "EXIT" -byte = imm_flag | componly_flag | showcr_flag +byte = imm_flag | componly_flag word = @d_immediate, 0, @_exit_ // SEMI char d_semi = ";" @@ -527,19 +527,19 @@ byte = 0 word = @d__isnum_, 0, @_trailing_ // PRINT @TOS char d_prat = "?" -byte = showcr_flag +byte = 0 word = @d_trailing, 0, @_prat_ // PRINT TOS char d_prtos = "." -byte = showcr_flag +byte = 0 word = @d_prat, 0, @_prval_ // PRINT TOS HEX char d_prtoshex = "$." -byte = showcr_flag +byte = 0 word = @d_prtos, 0, @_prhex_ // PRINT TOS HEX BYTE char d_prtosbyte = "C$." -byte = showcr_flag +byte = 0 word = @d_prtoshex, 0, @_prbyte_ // EMIT char d_emit = "EMIT" @@ -547,7 +547,7 @@ byte = 0 word = @d_prtosbyte, 0, @putc // CR char d_cr = "CR" -byte = 0 +byte = showcr_flag word = @d_emit, 0, @putln // SPACE char d_space = "SPACE" @@ -579,7 +579,7 @@ byte = param_flag | inline_flag word = 0, 0, @_slit_, $2E // PRINT STRING FROM STACK char d_doprstr = "(.\")" -byte = showcr_flag +byte = 0 word = @d_str, 0, @puts // PRINT STRING char d_prstr = ".\"" @@ -627,7 +627,7 @@ byte = showcr_flag word = @d_abortstr, 0, @_restart_ // COMMENT char d_comment = "(" -byte = imm_flag | showcr_flag +byte = imm_flag word = @d_exitforth, 0, @_comment_ // // PLFORTH custom words @@ -642,31 +642,31 @@ byte = interponly_flag word = @d_bye, 0, @_show_ // SHOW STACK char d_showstack = "SHOWSTACK" -byte = 0 +byte = showcr_flag word = @d_show, 0, @_showstack_ // SHOW RSTACK char d_showrstack = "SHOWRSTACK" -byte = 0 +byte = showcr_flag word = @d_showstack, 0, @_showrstack_ // TRACE ON char d_tron = "TRON" -byte = 0 +byte = showcr_flag word = @d_showrstack, 0, @_tron_ // TRACE OFF char d_troff = "TROFF" -byte = 0 +byte = showcr_flag word = @d_tron, 0, @_troff_ // SINGLE STEP ON char d_stepon = "STEPON" -byte = 0 +byte = showcr_flag word = @d_troff, 0, @_stepon_ // SINGLE STEP OFF char d_stepoff = "STEPOFF" -byte = 0 +byte = showcr_flag word = @d_stepon, 0, @_stepoff_ // BREAK OUT char d_brk = "BRK" -byte = 0 +byte = showcr_flag word = @d_stepoff, 0, @_brk_ // BREAK ON char d_brkon = "BRKON" @@ -689,7 +689,7 @@ word = @d_itc, 0, @_pbc_ // // LIST VOCAB char d_vlist = "VLIST" -byte = 0 +byte = showcr_flag word = @d_pbc, 0, @_vlist_ // // Helper routines @@ -903,7 +903,7 @@ end // Break handler // def showtrace(dentry)#0 - puts("\n( "); _showstack_; puts(") "); puts(dentry); putc(' ') + putln; puts("( "); _showstack_; puts(") "); puts(dentry); putc(' ') end def brkhandle(dentry)#0 word brk_infn, brk_inptr, brk_iip