: strdup ( c-addr u -- c-addr' u ) dup >r here >r chars here over allot swap move r> r> ; : possibly parse-word sfind if execute then ; : anew >in @ possibly dup >in ! marker >in ! include ; 2variable file : edit s" vim " pad place file 2@ pad +place pad count system ; : run s" anew " pad place file 2@ pad +place pad count evaluate ; : go parse-word dup if strdup file 2! else 2drop then edit run ;