: _blen ( buf -- length of str in buf ) DUP BEGIN C@+ 0x20 < UNTIL -^ 1- ; : _rbufsz ( size of linebuf to the right of curpos ) EDPOS @ 64 MOD 63 -^ ; : _i ( i without _pln and _type. used in VE ) _rbufsz IBUF _blen 2DUP > IF TUCK - ( ilen chars-to-move ) SWAP EDPOS @ _cpos 2DUP + ( ctm ilen a a+ilen ) 3 PICK MOVE- ( ctm ilen ) NIP ( ilen ) ELSE DROP 1+ ( ilen becomes rbuffsize+1 ) THEN DUP IBUF EDPOS @ _cpos ROT MOVE ( ilen ) EDPOS +! BLK!! ; : i IBUF _type _i EDPOS @ 64 / _pln ;