anchor.diff:                          x.EditLoop ()
                       with
                       | :? ThreadAbortException ->
  -                        searching <- None
  +                        searchState <- None
                           Thread.ResetAbort ()
                           Console.WriteLine ()
                           x.SetPrompt (prompt)
  
positive.code:                 let mutable still_matches = false
                  if cursor < text.Length then
                      let r = text.ToString (cursor, text.Length - cursor)
                      if r.StartsWith (search) then still_matches <- true
                  
                  if not still_matches then
                      x.ReverseSearch ();
         
              member private x.CmdRefresh () =
                  Console.Clear ();
  
negative.code:                         handler_index <- handler_index + 1
  
                      if handled then
                          match (searchState, last_command) with
                          | ( _, Command.ReverseSearch) -> ()
                          | (Some(search), _) -> 
                              previousSearch <- Some(search.Term)
                              searchState <- None
                              x.SetPrompt (specified_prompt)
                          | _ -> ()
                     
  