anchor.diff:                  PreviousSearch : string option
           
                   // Used to implement the Kill semantics (multiple Alt-Ds accumulate)
  -                LastCommand : Command
  +                LastCommand : Command option
               }
   
           let makeDefaultLineEditorState (name : string option) (histsize : int) =
  
positive.code:                 a.Cancel <- true;
  
                  // Interrupt the editor
                  edit_thread.Abort();
  
              member private x.HandleChar c =
                  match searchState with
                  | Some(search) -> x.SearchAppend c search
                  | None -> x.InsertChar (c)
  
  
negative.code:                 x.InitText (newtext)
  
              member private x.SetPrompt newprompt =
                  st <- { st with ShownPrompt = newprompt }
                  Console.SetCursorPosition (0, st.HomeRow)
                  x.Render ()
                  x.ForceCursor st.Cursor
         
              member public x.Edit prompt initial =
                  st <-
                      {
                          st with
                              EditThread = Thread.CurrentThread
                              SearchState = None
                              DoneEditing = false
                              History = st.History |> History.cursorToEnd |> History.append initial
                              MaxRendered = 0
                              SpecifiedPrompt = prompt
                              ShownPrompt = prompt
                      }
  
                  let cancelHandler = new ConsoleCancelEventHandler(x.InterruptEdit)
                  Console.CancelKeyPress.AddHandler cancelHandler
  
                  x.InitText (Some(initial))
  
                  while not st.DoneEditing do
                      try
                          x.EditLoop ()
                      with
                      | :? ThreadAbortException ->
                          st <- { st with SearchState = None }
                          Thread.ResetAbort ()
                          Console.WriteLine ()
                          x.SetPrompt (prompt)
  