diff --git a/src/left.tal b/src/left.tal index c368b1b..9e7aae8 100644 --- a/src/left.tal +++ b/src/left.tal @@ -425,7 +425,7 @@ ( >> ) @erase-block ( -- ) - erase-selection !select-reset + erase-selection ! @delete ( -- ) has-length? ?erase-block @@ -498,7 +498,7 @@ @ ( id -- ) get-marker DUP2 ;search slen ADD2 ! -@select-reset ( -- ) +@ ( -- ) get-from ( >> ) @@ -1047,7 +1047,8 @@ .File/success DEI2 INC2 .textarea/length STZ2 file-detect ( | draw ) - update-scrollbar update-nav select-reset #01 + update-scrollbar update-nav + #01 #05 !reqdraw-textarea @file-open-binary ( path* -- ) @@ -1056,7 +1057,8 @@ ;text SUB2 .textarea/length STZ2 ( | continue ) [ LIT2 01 -textarea/highlight ] STZ - select-reset #01 + + #01 #0a !reqdraw-textarea @file-save ( -- ) @@ -1087,9 +1089,9 @@ ( skip if empty ) DUP2 flen ORAk ?{ POP2 POP2 JMP2r } ( erase sel ) has-empty? ?{ erase-selection } ( | name* addr* ) - STH2k .File/length DEO2 + SWP2 .File/name DEO2 + ( stash length ) STH2k .File/length DEO2 ( push right ) get-from STH2kr - .File/name DEO2 STH2kr get-from .File/read DEO2 get-from STH2r ADD2 ! @@ -1098,10 +1100,12 @@ ( skip if empty ) DUP2 flen ORAk ?{ POP2 POP2 JMP2r } ( erase sel ) has-empty? ?{ erase-selection } ( | name* addr* ) - ( push right ) get-from STH2k SWP2 DUP2 ADD2 DUP2 #02 SFT2 ADD2 - .File/name DEO2 - STH2r - DUP2 get-from SUB2 ! + SWP2 .File/name DEO2 + ( stash length ) DUP2 ADD2 DUP2 #02 SFT2 ADD2 STH2 + ( push right ) get-from STH2kr + STH2kr + get-from + POP2 get-from STH2r ADD2 ! @file-detect ( -- ) file-is-dir? ?&dir @@ -1146,7 +1150,7 @@ @edit-cut ( -- ) has-length? ?{ JMP2r } - edit-copy erase-selection select-reset !reqdraw-textarea + edit-copy erase-selection !reqdraw-textarea @edit-copy ( -- ) has-length? ?{ JMP2r } @@ -1171,7 +1175,8 @@ LDA2k #090a NEQ2 ?{ DUP2 !&>l } LDA2k #0a20 NEQ2 ?{ INC2k !&>l } INC2 GTH2k ?&>l - POP2 POP2 select-reset update-nav !reqdraw-textarea + POP2 POP2 + update-nav !reqdraw-textarea @format-trim ( -- ) [ LIT2r 0000 ] get-to get-from @@ -1442,7 +1447,7 @@ [ LIT2 00 -Screen/sprite ] DEO #000c ADD2 .Screen/x DEO2 INC2 .Screen/width DEI2 #0080 SUB2 #02 draw-word-until - ( ) walk-blank LDAk [ LIT "& ] EQU ?{ draw-sym-field } + ( ) walk-blank LDAk [ LIT "& ] EQU ?{ } walk-blank ( | fields ) @@ -1454,8 +1459,9 @@ LDAk #20 LTH ?{ LDAk [ LIT "& ] NEQ ?{ [ LIT2 &anchor $2 ] .Screen/x DEO2 - INC2 #01 draw-sym-key walk-blank - ( ) LDAk [ LIT "@ ] EQU ?{ draw-sym-field } + INC2 #01 + walk-blank + ( ) LDAk [ LIT "@ ] EQU ?{ } walk-blank !&>l } walk-word/ } @@ -1478,14 +1484,14 @@ .Screen/y DEI2k #0008 ADD2 ROT DEO2 JMP2r -@draw-sym-key ( addr* color -- addr* ) +@ ( addr* color -- addr* ) ;blinker-icn .Screen/addr DEO2 [ LIT2 01 -Screen/sprite ] DEO ;tab-icn .Screen/addr DEO2 [ LIT2 01 -Screen/sprite ] DEO .Screen/width DEI2 #0028 SUB2 ROT !draw-word-until -@draw-sym-field ( addr* -- addr* ) +@ ( addr* -- addr* ) .Screen/x DEI2k #0004 ADD2 ROT DEO2 LDAk [ LIT "( ] EQU ?{ .Screen/width DEI2 #0018 SUB2 #03 !draw-word-until }