|
123456789101112131415 |
- : _blen ( buf -- length of str in buf )
- DUP BEGIN C@+ EOL? UNTIL -^ 1- ;
- : _rbufsz ( size of linebuf to the right of curpos )
- EDPOS @ 64 MOD 63 -^ ;
- : _I
- IBUF _type _rbufsz IBUF _blen 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
- ;
|