@prog todo list 1 999 d 1 i : say me @ swap notify ; : dscprop "_dsc" swap intostr strcat ; : add-line 1 begin dup dscprop prog over prop-exists? while pop 1 + loop swap pop prog swap rot addprop ; : del-line 1 begin dup dscprop prog swap prop-exists? while 1 + loop 1 - ( s N ) 1 begin ( s N i ) over over >= while dup dscprop prog over getpropstr 5 pick instr if ( s N i _dsci ) 3 pick dscprop prog over getpropstr prog 4 rotate rot addprop prog swap remove_prop swap 1 - swap ( s N-1 i ) else ( s N i _dsci ) pop 1 + ( s N i+1 ) then loop pop pop pop ; : main dup not if prog trigger ! #23 call exit then 1 strcut swap dup "+" strcmp not if pop add-line exit then dup "-" strcmp not if pop del-line exit then swap strcat 20 strcut dup if pop "..." then strcat "Unrecognized argument: " swap strcat say ; . c q