--- gforth/extend.fs 1994/07/21 10:52:39 1.4 +++ gforth/extend.fs 1995/01/30 18:47:45 1.8 @@ -6,7 +6,8 @@ decimal \ .( 12may93jaw -: .( [char] ) parse type ; +: .( ( -- ) + [char] ) parse type ; immediate \ VALUE 2>R 2R> 2R@ 17may93jaw @@ -14,10 +15,6 @@ decimal (constant) , ; \ !! 2value -: 2>r postpone swap postpone >r postpone >r ; immediate restrict -: 2r> postpone r> postpone r> postpone swap ; immediate restrict -: 2r@ postpone 2r> postpone 2dup postpone 2>r ; immediate restrict - : 2Literal swap postpone Literal postpone Literal ; immediate restrict @@ -76,10 +73,20 @@ decimal : erase ( 0 1 chars um/mod nip ) 0 fill ; : blank ( 0 1 chars um/mod nip ) bl fill ; +\ SEARCH 02sep94py + +: search ( buf buflen text textlen -- restbuf restlen flag ) + 2over 2 pick - 1+ 3 pick c@ >r + BEGIN r@ scan dup WHILE + >r >r 2dup r@ -text + 0= IF >r drop 2drop r> r> r> rot + 1- rdrop true EXIT THEN + r> r> 1 /string REPEAT + 2drop 2drop rdrop false ; + \ ROLL 17may93jaw : roll dup 1+ pick >r - cells sp@ 2 cells + dup cell+ rot move drop r> ; + cells sp@ cell+ dup cell+ rot move drop r> ; \ SOURCE-ID SAVE-INPUT RESTORE-INPUT 11jun93jaw