anchor.diff:      let mutable killIntent = NoIntent
       let mutable promptReceived = false
       let mutable activeDoc : IDisposable option = None
  +    let commandHistoryPast = new Stack<string> ()
  +    let commandHistoryFuture = new Stack<string> ()
   
       let getCorrectDirectory () =
           if IdeApp.Workbench.ActiveDocument <> null && FileService.isInsideFSharpFile() then
  
positive.code:         context :? FsiDocumentContext
  
      override x.KeyPress (descriptor:KeyDescriptor) =
          //suppressParameterCompletion <- not (isValidParamCompletionDecriptor descriptor)
      
          match FSharpInteractivePad2.Fsi with
          | Some fsi -> 
              if descriptor.SpecialKey = SpecialKey.Return then
                  match fsi.Session with
                  | Some session ->
                      let line = 
                          x.Editor.GetLineText (x.Editor.GetLine(x.Editor.CaretLine))
                      session.SendCommand line
                  | _ -> ()
  
          | _ -> ()
          base.KeyPress (descriptor)
  
  type FSharpInteractivePad() as this =
      inherit MonoDevelop.Ide.Gui.PadContent()
  
negative.code:             editor.InsertAtCaret ("\n")
              ctx.SourceEditorView <- editor.GetContent<MonoDevelop.SourceEditor.SourceEditorView>()
          
  /// handles keypresses for F# Interactive
  type FSharpFsiEditorCompletion() =
      inherit TextEditorExtension()
  
  