From 9d4e9ef08dc3b9e831f16380dcf7220e14d4e408 Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Fri, 5 Jun 2020 14:01:39 -0400 Subject: [PATCH] VE: Add X --- blk/109 | 8 ++++---- blk/122 | 2 ++ blk/127 | 1 + 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/blk/109 b/blk/109 index baf5df1..c3380ac 100644 --- a/blk/109 +++ b/blk/109 @@ -1,9 +1,9 @@ -: E - FBUF _blen EDPOS @ _cpos 2DUP + ( l a1 a1+l ) +: X ( len -- , delete len chars after curpos ) + EDPOS @ _cpos 2DUP + ( l a1 a1+l ) SWAP _rbufsz MOVE ( l ) ( get to next line - l ) DUP EDPOS @ 0xffc0 AND 0x40 + -^ _cpos ( l a ) SWAP 0 FILL - EDPOS @ 64 / _pln -; + EDPOS @ 64 / _pln ; +: E FBUF _blen X ; diff --git a/blk/122 b/blk/122 index 8e19a9b..ba07cc4 100644 --- a/blk/122 +++ b/blk/122 @@ -5,6 +5,8 @@ 'I', 'F' and 'E' invoke the corresponding command from the Block Editor (B100). Refer to documentation there. +'X' deletes "modifier" characters following cursor. + '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/127 b/blk/127 index d651a13..e54cd14 100644 --- a/blk/127 +++ b/blk/127 @@ -9,6 +9,7 @@ : $I mode! 'I' EMIT 3 1 AT-XY _I contents mode! SPC ; : $F mode! 'F' EMIT 3 2 AT-XY _F setpos mode! SPC ; : $E E contents ; +: $X acc@ X contents ; : $h -1 cmv ; : $l 1 cmv ; : $k -64 cmv ; : $j 64 cmv ; : $H 0acc EDPOS @ 0x3c0 AND EDPOS ! ; : $L 0acc EDPOS @ 0x3f OR EDPOS ! ;