: _ilen ( length of str in IBUF ) IBUF BEGIN C@+ EOL? UNTIL IBUF - 1- ; : _I IBUF _type EDPOS @ 64 MOD ( cno ) 63 -^ _ilen ( rbuffsize ilen ) 2DUP > IF SWAP OVER - ( ilen chars-to-move ) SWAP EDPOS @ _cpos 2DUP + ( ctm ilen a a+ilen ) 3 PICK MOVE- ( ctm ilen ) SWAP DROP ( ilen ) ELSE DROP ( ilen becomes rbuffsize ) THEN DUP IBUF EDPOS @ _cpos ROT MOVE ( ilen ) EDPOS +! EDPOS @ 64 / _pln ;