diff --git a/blk/122 b/blk/122 index 966de1a..d10f54d 100644 --- a/blk/122 +++ b/blk/122 @@ -4,3 +4,7 @@ 'I' inserts text by calling the "I" command from the Block editor. + +'R' goes into replace mode at current cursor position. +Following keystrokes replace current character and advance +cursor. Press return to return to normal mode. diff --git a/blk/126 b/blk/126 index 71f7a23..4a8dfba 100644 --- a/blk/126 +++ b/blk/126 @@ -1,5 +1,4 @@ CREATE CMD 2 C, '$' C, 0 C, -VARIABLE MODE : 0acc 0 ACC ! ; : acc@ ACC @ 1 MAX 0acc ; : num ACC @ SWAP _pdacc IF DROP ELSE ACC ! THEN ; diff --git a/blk/128 b/blk/128 index 6c627f8..762b15a 100644 --- a/blk/128 +++ b/blk/128 @@ -4,8 +4,12 @@ : $W EDPOS @ BLK( + acc@ 0 DO BEGIN C@- WS? UNTIL BEGIN C@- WS? NOT UNTIL LOOP 1+ BLK( - DUP 0< IF DROP 0 THEN EDPOS ! ; -: handleM ( c -- f ) +: $R ( replace mode ) + mode! 'R' EMIT + BEGIN setpos C< DUP 0xd = NOT IF + EDPOS @ _cpos C! 1 EDPOS +! BLK!! 0 + THEN UNTIL mode! SPC contents ; +: handle ( c -- f ) DUP '0' '9' =><= IF num 0 EXIT THEN DUP CMD 2+ C! CMD FIND IF EXECUTE ELSE DROP THEN UPPER 'Q' = ; -: modeM ['] handleM MODE ! mode! SPC ; diff --git a/blk/129 b/blk/129 index ea3e751..12d168b 100644 --- a/blk/129 +++ b/blk/129 @@ -7,7 +7,7 @@ 2 aty ." F: " FBUF bufp ; : c