anchor.diff:      let mutable session = setupSession()
   
       let getCaretLine() =
  -        editor.CaretLine 
  -        |> editor.GetLine 
  -        |> editor.GetLineText
  +        let line = 
  +            editor.CaretLine 
  +            |> editor.GetLine 
  +        if line.Length > 0 then 
  +            editor.GetLineText line
  +        else
  +            ""
   
       let setCaretLine (s: string) =
           let line = editor.GetLineByOffset editor.CaretOffset
  
positive.code:             if commandHistoryFuture.Count = 0 then
                  commandHistoryFuture.Push (getCaretLine())
              else
                  if commandHistoryPast.Count = 1 then ()
                  else commandHistoryFuture.Push (commandHistoryPast.Pop ())
              setCaretLine (commandHistoryPast.Peek ())
  
      member x.ProcessCommandHistoryDown () =
          if commandHistoryFuture.Count > 0 then
              if commandHistoryFuture.Count = 1 then
                  setCaretLine (commandHistoryFuture.Pop ())
              else
                  commandHistoryPast.Push (commandHistoryFuture.Pop ())
  
negative.code: /// handles keypresses for F# Interactive
  type FSharpFsiEditorCompletion() =
      inherit TextEditorExtension()
      let getCaretLine (editor:TextEditor) =
          let line =
              editor.CaretLine
  