2020-06-07 07:25:02 -04:00
|
|
|
: $f EDPOS @ PREVPOS @ 2DUP = IF 2DROP EXIT THEN
|
|
|
|
2DUP > IF DUP pos! SWAP THEN
|
|
|
|
( p1 p2, p1 < p2 ) OVER - 64 MIN ( pos len ) FBUF _zbuf
|
|
|
|
SWAP _cpos FBUF ( len src dst ) ROT MOVE ;
|
|
|
|
: $R ( replace mode )
|
|
|
|
mode! 'R' EMIT
|
2020-06-11 22:29:05 -04:00
|
|
|
BEGIN setpos KEY DUP BS? IF -1 EDPOS +! DROP 0 THEN
|
|
|
|
DUP 0x20 >= IF
|
2020-06-11 20:31:18 -04:00
|
|
|
DUP EMIT EDPOS @ _cpos C! 1 EDPOS +! BLK!! 0
|
2020-06-07 07:25:02 -04:00
|
|
|
THEN UNTIL mode! SPC contents ;
|
|
|
|
: $O EDPOS @ 0x3c0 ( 15 * 64 ) >= IF EXIT THEN
|
2020-06-07 09:30:31 -04:00
|
|
|
_U EDPOS @ 0x3c0 AND DUP pos! _cpos _zbuf BLK!! contents ;
|
2020-06-07 07:25:02 -04:00
|
|
|
: $o EDPOS @ 64 < IF EXIT THEN EDPOS @ 64 + EDPOS ! $O ;
|
2020-06-10 16:59:12 -04:00
|
|
|
: $D $H 64 icpy
|
|
|
|
acc@ 0 DO 16 EDPOS @ 64 / DO i _mvln- LOOP LOOP
|
2020-06-07 09:30:31 -04:00
|
|
|
BLK!! contents ;
|