\ 4tH library - PRINT - Copyright 2003,2009 J.L. Bezemer \ You can redistribute this file and/or modify it under \ the terms of the GNU General Public License \ Has RMARGIN been defined? If not, abort! [UNDEFINED] RMARGIN [IF] [ABORT] [THEN] \ Load definitions when needed [UNDEFINED] SCAN [IF] [NEEDS lib/scanskip.4th] [THEN] [UNDEFINED] PRINT [IF] VARIABLE #emits : (PRINT) DUP #emits +! TYPE ; \ public : SHOW emit 1 #emits +! ; \ public : NL CR 0 #emits ! ; \ public : ?SPACE #emits @ IF BL SHOW THEN ; \ public : NEXT-WORD \ private BL DUP >R SKIP OVER OVER R> SCAN TUCK >R >R - R> R> ROT >R ROT R> DUP 1+ #emits @ + RMARGIN > IF NL ELSE ?SPACE THEN (PRINT) ; : PRINT ( addr count --) \ public BEGIN DUP WHILE NEXT-WORD REPEAT DROP DROP ; [DEFINED] 4TH# [IF] hide #emits hide NEXT-WORD [THEN] [THEN]