START initialization $prompt = [auto> ] $lines = [kill cow kill camel kill dog kill cat select cow give fish select camel give fish select dog give fish select cat give fish select cow give pasture select camel give pasture select dog give pasture select cat give pasture select cow give meat select camel give meat select dog give meat select cat give meat select cow take_to wood select camel take_to wood select dog take_to wood select cat take_to wood select cow take_to sea select camel take_to sea select dog take_to sea select cat take_to sea select cow take_to desert select camel take_to desert select dog take_to desert select cat take_to desert ] END initialization $input 1 = [] line: 55 $input 2 = [] line: 62 $words = [kill select] line: 65 $backup = [CURSOR BACK 2 + length $words ( 2 + 11 )] line: 73 auto> kill select ***SPACE (or - or ~) catched and removed INPUT=> $char = [k] line: 110 ======> iteration 1 $input 1 = [k] line: 55 $input 2 = [kill ] line: 62 $words = [camel cat cow dog] line: 65 $backup = [CURSOR BACK 2 + length $words ( 2 + 17 )] line: 73 auto> kill camel cat cow dog INPUT=> $char = [**BACKSPACE**] line: 110 ======> iteration 2 $input 1 = [] line: 55 $input 2 = [] line: 62 $words = [kill select] line: 65 $backup = [CURSOR BACK 2 + length $words ( 2 + 11 )] line: 73 auto> kill select ***SPACE (or - or ~) catched and removed INPUT=> $char = [s] line: 110 ======> iteration 3 $input 1 = [s] line: 55 $input 2 = [select ] line: 62 $words = [camel cat cow dog] line: 65 $backup = [CURSOR BACK 2 + length $words ( 2 + 17 )] line: 73 auto> select camel cat cow dog ***SPACE (or - or ~) catched and removed INPUT=> $char = [c] line: 110 ======> iteration 4 $input 1 = [select c] line: 55 $input 2 = [select c] line: 62 $words = [amel at ow] line: 65 $backup = [CURSOR BACK 2 + length $words ( 2 + 10 )] line: 73 auto> select c amel at ow ***SPACE (or - or ~) catched and removed INPUT=> $char = [a] line: 110 ======> iteration 5 $input 1 = [select ca] line: 55 $input 2 = [select ca] line: 62 $words = [mel t] line: 65 $backup = [CURSOR BACK 2 + length $words ( 2 + 5 )] line: 73 auto> select ca mel t ***SPACE (or - or ~) catched and removed INPUT=> $char = [m] line: 110 ======> iteration 6 $input 1 = [select cam] line: 55 $input 2 = [select camel ] line: 62 $words = [give take_to] line: 65 $backup = [CURSOR BACK 2 + length $words ( 2 + 12 )] line: 73 auto> select camel give take_to ***SPACE (or - or ~) catched and removed INPUT=> $char = [t] line: 110 ======> iteration 7 $input 1 = [select camel t] line: 55 $input 2 = [select camel take_to ] line: 62 $words = [desert sea wood] line: 65 $backup = [CURSOR BACK 2 + length $words ( 2 + 15 )] line: 73 auto> select camel take_to desert sea wood ***ENTER was inserted! $line does NOT matches $input: NEXT $input 1 = [select camel take_to ] line: 55 $input 2 = [select camel take_to ] line: 62 $words = [desert sea wood] line: 65 $backup = [CURSOR BACK 2 + length $words ( 2 + 15 )] line: 73 auto> select camel take_to desert sea wood ***SPACE (or - or ~) catched and removed INPUT=> $char = [d] line: 110 ======> iteration 8 $input 1 = [select camel take_to d] line: 55 $input 2 = [select camel take_to desert] line: 62 $words = [] line: 65 $backup = [CURSOR BACK 2 + length $words ( 2 + 14 )] line: 73 auto> select camel take_to desert *** Completed! ***ENTER was inserted! $line matches $input: FINISH The user entered: select camel take_to desert