mirror of
https://github.com/hsoft/collapseos.git
synced 2024-12-27 19:38:08 +11:00
9ab5cda397
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.
13 lines
530 B
Plaintext
13 lines
530 B
Plaintext
: _blen ( buf -- length of str in buf )
|
|
DUP BEGIN C@+ 0x20 < UNTIL -^ 1- ;
|
|
: _rbufsz ( size of linebuf to the right of curpos )
|
|
EDPOS @ 64 MOD 63 -^ ;
|
|
: _i ( i without _pln and _type. used in VE )
|
|
_rbufsz IBUF _blen 2DUP > IF
|
|
TUCK - ( ilen chars-to-move )
|
|
SWAP EDPOS @ _cpos 2DUP + ( ctm ilen a a+ilen )
|
|
3 PICK MOVE- ( ctm ilen ) NIP ( ilen )
|
|
ELSE DROP 1+ ( ilen becomes rbuffsize+1 ) THEN
|
|
DUP IBUF EDPOS @ _cpos ROT MOVE ( ilen ) EDPOS +! BLK!! ;
|
|
: i IBUF _type _i EDPOS @ 64 / _pln ;
|