( Cursor position in buffer. EDPOS/64 is line number ) VARIABLE EDPOS CREATE EDBUF 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 EDBUF 64 0 FILL ; : _type ( -- ) C< DUP 0xd = IF DROP EXIT THEN _zbuf EDBUF BEGIN ( c a ) C!+ C< SWAP OVER 0x0d = UNTIL ( c a ) 2DROP ;