From 9b749d6f996e9f6dce7b142273372da53001db7f Mon Sep 17 00:00:00 2001 From: dschmenk Date: Tue, 6 Feb 2024 20:22:12 -0800 Subject: [PATCH] Add more info to SEE --- src/scripts/hrplot.4th | 4 +- src/toolsrc/plforth.pla | 114 +++++++++++++++++++++------------------- 2 files changed, 63 insertions(+), 55 deletions(-) diff --git a/src/scripts/hrplot.4th b/src/scripts/hrplot.4th index 771e1e0..1689838 100644 --- a/src/scripts/hrplot.4th +++ b/src/scripts/hrplot.4th @@ -20,10 +20,10 @@ SRC" FPU.4TH" ; FPEXT XSCALE -FPCONSTPI 140 >FPINT FP/ XSCALE FPEXT! +FPCONSTPI 139 >FPINT FP/ XSCALE FPEXT! FPEXT YSCALE -96 >FPINT YSCALE FPEXT! +-95 >FPINT YSCALE FPEXT! DEFER FUNC diff --git a/src/toolsrc/plforth.pla b/src/toolsrc/plforth.pla index ea5d6de..ac4d499 100644 --- a/src/toolsrc/plforth.pla +++ b/src/toolsrc/plforth.pla @@ -1863,62 +1863,70 @@ def _see_#0 word dentry, pfa, w dentry = find(nextword(' ')) - if dentry and ^_ffa_(dentry) & itc_flag // Only show ITC words - when *_cfa_(dentry) - is @_docolon_ - pfa = _pfa_(dentry) - break - is @_dodefer_ - pfa = _pfa_(*_pfa_(dentry)) - break - is @_dodoes_ - pfa = *_pfa_(dentry) - break - otherwise // ??? - pfa = @d_exit - wend - putc('$'); puth(pfa); putc(' ') - w = *pfa - while w - if ^_ffa_(w) & param_flag - pfa = pfa + 2 - when w - is @d_slit - putc('"') - puts(pfa) - putc('"') - pfa = pfa + ^pfa - 1 - break - is @d_lit - puti(*pfa) - break - is @d_branch - is @d_0branch - is @d_doloop - puts(w); puts(" $"); puth(*pfa) - break - otherwise - puts(w) - wend - else - puts(w) - fin - pfa = pfa + 2 - if ^_ffa_(w) & showcr_flag - putln; putc('$'); puth(pfa) - fin - putc(' ') + if dentry + putc('$'); puth(dentry); putc(' '); puts(dentry) + if ^_ffa_(dentry) & imm_flag; puts(" IMMEDIATE"); fin + if ^_ffa_(dentry) & componly_flag; puts(" COMPILE-ONLY"); fin + if ^_ffa_(dentry) & interponly_flag; puts(" INTERPRET-ONLY"); fin + putln + if ^_ffa_(dentry) & itc_flag // Only show ITC words + puts("-----\n") + when *_cfa_(dentry) + is @_docolon_ + pfa = _pfa_(dentry) + break + is @_dodefer_ + pfa = _pfa_(*_pfa_(dentry)) + break + is @_dodoes_ + pfa = *_pfa_(dentry) + break + otherwise // ??? + pfa = @d_exit + wend + putc('$'); puth(pfa); putc(' ') w = *pfa - if !w + while w + if ^_ffa_(w) & param_flag + pfa = pfa + 2 + when w + is @d_slit + putc('"') + puts(pfa) + putc('"') + pfa = pfa + ^pfa - 1 + break + is @d_lit + puti(*pfa) + break + is @d_branch + is @d_0branch + is @d_doloop + puts(w); puts(" $"); puth(*pfa) + break + otherwise + puts(w) + wend + else + puts(w) + fin pfa = pfa + 2 + if ^_ffa_(w) & showcr_flag + putln; putc('$'); puth(pfa) + fin + putc(' ') w = *pfa - if w; puts("EXIT\n"); putc('$'); puth(pfa); putc(' '); fin // Early exit - fin - if conio:keypressed() - conio:getkey(); conio:getkey() - fin - loop - puts("EXIT\n") + if !w + pfa = pfa + 2 + w = *pfa + if w; puts("EXIT\n"); putc('$'); puth(pfa); putc(' '); fin // Early exit + fin + if conio:keypressed() + conio:getkey(); conio:getkey() + fin + loop + puts("EXIT\n") + fin fin end def _prstack_#0