( Cursor position in buffer. EDPOS/64 is line number )
VARIABLE EDPOS
CREATE IBUF 64 ALLOT
CREATE FBUF 64 ALLOT
: _cpos BLK( + ;
: _lpos 64 * _cpos ;
: _pln ( lineno -- )
    DUP _lpos DUP 64 + SWAP DO ( lno )
        I EDPOS @ _cpos = IF '^' EMIT THEN
        I C@ DUP 0x20 < IF DROP 0x20 THEN
        EMIT
    LOOP ( lno ) 1+ . ;
: _zbuf 64 0 FILL ; ( buf -- )