1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5 $FORTH_WORD KEY-WAIT-CR-SPACE
8 key_wait_cr_space_loop:
10 DUP CHCR = SWAP BL = OR
11 0BRANCH key_wait_cr_space_loop
13 $FORTH_END_WORD KEY-WAIT-CR-SPACE
15 $FORTH_WORD KEY-SCROLL-MSG-WAIT
18 (.") "\r<press ENTER...>" ;;"
20 EMITCR CONWIDTH 1- SPACES EMITCR
22 $FORTH_END_WORD KEY-SCROLL-MSG-WAIT
25 $FORTH_VAR (SCROLL-CRCOUNT) 0
26 $FORTH_VAR (SCROLL-CRMAX) 20
28 $FORTH_WORD (SCROLL-CR-RESET)
31 (SCROLL-CRCOUNT) 0! ;S
32 $FORTH_END_WORD (SCROLL-CR-RESET)
34 $FORTH_WORD (SCROLL-CR)
39 DUP (SCROLL-CRMAX) @ >= 0BRANCH words_cr_nowait
45 $FORTH_END_WORD (SCROLL-CR)
48 $FORTH_WORD WORDS NOTURNKEY
52 (SCROLL-CR-RESET) ENDCR
56 (SHIDDEN?) @ TBRANCH vlist_hidden_allowed
57 ;; check for hidden word
58 DUP 1+ C@ [CHAR] ( = TBRANCH vlist_next_word
62 DUP (ID-LENGTH) ;; ( nfa len )
63 WHEREX + ;; ( nfa nextpos )
64 DUP CONWIDTH = 0BRANCH vlist_not_exact_width
67 DROP DUP (ID.) (SCROLL-CR)
68 BRANCH vlist_next_word
70 vlist_not_exact_width:
71 1+ CONWIDTH < TBRANCH vlist_fits_in_line
72 ;; doesn't fit in line with a space
80 NFA->CFA CFA->LFA @ DUP 0= ?BREAK OR
85 WHEREX @ 0BRANCH vlist_exit