ed: rename I to i
Shadowing core "I" is too messy. As soon as ed is loaded in memory, nothing else that isn't "i-aware" can be loaded anymore. I guess that's why "contexts" exist in Starting Forth, but adding this concept just for allowing the shadowing of core words seems overkill to me. Renaming I to i in ed seems better.
This commit is contained in:
parent
af339d8c6a
commit
9ab5cda397
4
blk/101
4
blk/101
@ -10,7 +10,7 @@ P xxx: put typed IBUF on selected line.
|
|||||||
U xxx: insert typed IBUF on selected line.
|
U xxx: insert typed IBUF on selected line.
|
||||||
F xxx: find typed FBUF in block, starting from current
|
F xxx: find typed FBUF in block, starting from current
|
||||||
position+1. If not found, don't move.
|
position+1. If not found, don't move.
|
||||||
I xxx: insert typed IBUF at cursor. "I" shadows core word. Use
|
i xxx: insert typed IBUF at cursor. "i" is to avoid shadowing
|
||||||
"i" to access it.
|
core word "I".
|
||||||
Y: Copy n characters after cursor into IBUF, n being length of
|
Y: Copy n characters after cursor into IBUF, n being length of
|
||||||
FBUF. (cont.)
|
FBUF. (cont.)
|
||||||
|
5
blk/111
5
blk/111
@ -2,12 +2,11 @@
|
|||||||
DUP BEGIN C@+ 0x20 < UNTIL -^ 1- ;
|
DUP BEGIN C@+ 0x20 < UNTIL -^ 1- ;
|
||||||
: _rbufsz ( size of linebuf to the right of curpos )
|
: _rbufsz ( size of linebuf to the right of curpos )
|
||||||
EDPOS @ 64 MOD 63 -^ ;
|
EDPOS @ 64 MOD 63 -^ ;
|
||||||
: i COMPILE I ; IMMEDIATE ( save overshadowed )
|
: _i ( i without _pln and _type. used in VE )
|
||||||
: _I ( I without _pln and _type. used in VE )
|
|
||||||
_rbufsz IBUF _blen 2DUP > IF
|
_rbufsz IBUF _blen 2DUP > IF
|
||||||
TUCK - ( ilen chars-to-move )
|
TUCK - ( ilen chars-to-move )
|
||||||
SWAP EDPOS @ _cpos 2DUP + ( ctm ilen a a+ilen )
|
SWAP EDPOS @ _cpos 2DUP + ( ctm ilen a a+ilen )
|
||||||
3 PICK MOVE- ( ctm ilen ) NIP ( ilen )
|
3 PICK MOVE- ( ctm ilen ) NIP ( ilen )
|
||||||
ELSE DROP 1+ ( ilen becomes rbuffsize+1 ) THEN
|
ELSE DROP 1+ ( ilen becomes rbuffsize+1 ) THEN
|
||||||
DUP IBUF EDPOS @ _cpos ROT MOVE ( ilen ) EDPOS +! BLK!! ;
|
DUP IBUF EDPOS @ _cpos ROT MOVE ( ilen ) EDPOS +! BLK!! ;
|
||||||
: I IBUF _type _I EDPOS @ 64 / _pln ;
|
: i IBUF _type _i EDPOS @ 64 / _pln ;
|
||||||
|
6
blk/126
6
blk/126
@ -4,10 +4,10 @@ CREATE PREVPOS 0 , CREATE PREVBLK 0 ,
|
|||||||
: num ACC @ SWAP _pdacc IF DROP ELSE ACC ! THEN ;
|
: num ACC @ SWAP _pdacc IF DROP ELSE ACC ! THEN ;
|
||||||
: nspcs ( n -- , spit n space ) 0 DO SPC LOOP ;
|
: nspcs ( n -- , spit n space ) 0 DO SPC LOOP ;
|
||||||
: aty 0 SWAP AT-XY ;
|
: aty 0 SWAP AT-XY ;
|
||||||
: clrscr LINES 0 DO i aty COLS nspcs LOOP ;
|
: clrscr LINES 0 DO I aty COLS nspcs LOOP ;
|
||||||
: gutter ( ln n ) OVER + SWAP DO 67 i AT-XY '|' EMIT LOOP ;
|
: gutter ( ln n ) OVER + SWAP DO 67 I AT-XY '|' EMIT LOOP ;
|
||||||
: status 0 aty ." BLK" SPC BLK> ? SPC ACC ?
|
: status 0 aty ." BLK" SPC BLK> ? SPC ACC ?
|
||||||
SPC EDPOS @ 64 /MOD . ',' EMIT . SPC
|
SPC EDPOS @ 64 /MOD . ',' EMIT . SPC
|
||||||
BLKDTY @ IF '*' EMIT THEN 10 nspcs ;
|
BLKDTY @ IF '*' EMIT THEN 10 nspcs ;
|
||||||
: contents 3 aty BLK> @ LIST 3 16 gutter ;
|
: contents 3 aty BLK> @ LIST 3 16 gutter ;
|
||||||
: selblk BLK> @ PREVBLK ! BLK@ contents ;
|
: selblk BLK> @ PREVBLK ! BLK@ contents ;
|
||||||
|
2
blk/128
2
blk/128
@ -2,7 +2,7 @@
|
|||||||
: $[ BLK> @ acc@ - selblk ;
|
: $[ BLK> @ acc@ - selblk ;
|
||||||
: $] BLK> @ acc@ + selblk ;
|
: $] BLK> @ acc@ + selblk ;
|
||||||
: $t PREVBLK @ selblk ;
|
: $t PREVBLK @ selblk ;
|
||||||
: $I mode! 'I' EMIT IBUF 1 buftype _I contents mode! SPC ;
|
: $I mode! 'I' EMIT IBUF 1 buftype _i contents mode! SPC ;
|
||||||
: $F mode! 'F' EMIT FBUF 2 buftype _F setpos mode! SPC ;
|
: $F mode! 'F' EMIT FBUF 2 buftype _F setpos mode! SPC ;
|
||||||
: $Y Y ;
|
: $Y Y ;
|
||||||
: $E E contents ;
|
: $E E contents ;
|
||||||
|
2
blk/130
2
blk/130
@ -12,5 +12,5 @@
|
|||||||
_U EDPOS @ 0x3c0 AND DUP pos! _cpos _zbuf BLK!! contents ;
|
_U EDPOS @ 0x3c0 AND DUP pos! _cpos _zbuf BLK!! contents ;
|
||||||
: $o EDPOS @ 64 < IF EXIT THEN EDPOS @ 64 + EDPOS ! $O ;
|
: $o EDPOS @ 64 < IF EXIT THEN EDPOS @ 64 + EDPOS ! $O ;
|
||||||
: $D $H 64 icpy
|
: $D $H 64 icpy
|
||||||
acc@ 0 DO 16 EDPOS @ 64 / DO i _mvln- LOOP LOOP
|
acc@ 0 DO 16 EDPOS @ 64 / DO I _mvln- LOOP LOOP
|
||||||
BLK!! contents ;
|
BLK!! contents ;
|
||||||
|
2
blk/131
2
blk/131
@ -3,7 +3,7 @@
|
|||||||
DUP CMD 2+ C! CMD FIND IF EXECUTE ELSE DROP THEN
|
DUP CMD 2+ C! CMD FIND IF EXECUTE ELSE DROP THEN
|
||||||
0 ACC ! UPPER 'Q' = ;
|
0 ACC ! UPPER 'Q' = ;
|
||||||
: bufp ( buf -- )
|
: bufp ( buf -- )
|
||||||
DUP 64 + SWAP DO i C@ 0x20 MAX EMIT LOOP ;
|
DUP 64 + SWAP DO I C@ 0x20 MAX EMIT LOOP ;
|
||||||
: bufs
|
: bufs
|
||||||
1 aty ." I: " IBUF bufp
|
1 aty ." I: " IBUF bufp
|
||||||
2 aty ." F: " FBUF bufp 0 3 gutter ;
|
2 aty ." F: " FBUF bufp 0 3 gutter ;
|
||||||
|
Loading…
Reference in New Issue
Block a user