anchor.diff:      // Skip this is this call is a result of updating errors and the content still matches.
       if not (prevContent.ContainsKey(fileName) && prevContent.[fileName] = fileContent ) && Common.supportedExtension(IO.Path.GetExtension(fileName)) then 
         // Trigger parsing in the language service 
  -      let config = IdeApp.Workspace.ActiveConfiguration
         let filePathOpt = 
             // TriggerParse will work only for full paths
             if IO.Path.IsPathRooted(fileName) then 
                 Some(FilePath(fileName) )
  -          elif IdeApp.Workbench.ActiveDocument <> null then
  -             let file = IdeApp.Workbench.ActiveDocument.FileName
  -             if file.FullPath.ToString() <> "" then Some file else None
  -          else None
  +          else 
  +             let doc = IdeApp.Workbench.ActiveDocument 
  +             if doc <> null then 
  +                 let file = doc.FileName
  +                 if file.FullPath.ToString() <> "" then Some file else None
  +             else None
         match filePathOpt with 
         | None -> ()
         | Some filePath -> 
  +        let config = IdeApp.Workspace.ActiveConfiguration
  +        if config <> null then 
             LanguageService.Service.TriggerParse(filePath, fileContent, proj, config, full=false, afterCompleteTypeCheckCallback=(fun (fileName,errors) ->
   
                         let file = fileName.FullPath.ToString()
  
positive.code:      inherit DefaultParsedDocument(fileName)
    
  
  type FSharpParser() =
    inherit AbstractTypeSystemParser()
    do Debug.tracef "Parsing" "Creating FSharpParser"
  
negative.code:         Debug.tracef "Parsing" "Adding error, message '%s', region '%A'" er.Message (er.Region.BeginLine,er.Region.BeginColumn,er.Region.EndLine,er.Region.EndColumn)
          doc.Errors.Add(er)    
  
      doc.LastWriteTimeUtc <- (try File.GetLastWriteTimeUtc (fileName) with _ -> DateTime.UtcNow) 
      doc :> ParsedDocument
  