anchor.diff:      let isInteractiveServer() = fsiServerName <> ""  
       let recordExplicitArg arg = explicitArgs <- explicitArgs @ [arg]
   
  -    let executableFileName = 
  -        lazy 
  -            match tcConfigB.exename with
  -            | Some s -> s
  -            | None -> 
  -            let currentProcess = System.Diagnostics.Process.GetCurrentProcess()
  -            Path.GetFileName(currentProcess.MainModule.FileName)
  +    let executableFileNameWithoutExtension =
  +        lazy
  +            let getFsiCommandLine () =
  +                let fileNameWithoutExtension path = Path.GetFileNameWithoutExtension(path)
  +
  +                let currentProcess = Process.GetCurrentProcess()
  +                let processFileName = fileNameWithoutExtension currentProcess.MainModule.FileName
  +
  +                let commandLineExecutableFileName =
  +                    try fileNameWithoutExtension (Environment.GetCommandLineArgs().[0])
  +                    with _ -> ""
  +
  +                let stringComparison =
  +                    match Environment.OSVersion.Platform with
  +                    | PlatformID.MacOSX
  +                    | PlatformID.Unix -> StringComparison.Ordinal
  +                    | _ -> StringComparison.OrdinalIgnoreCase
  +                
  +                if String.Compare(processFileName, commandLineExecutableFileName, stringComparison) = 0
  +                then processFileName
  +                else sprintf "%s %s" processFileName commandLineExecutableFileName
  +
  +            tcConfigB.exename |> Option.defaultWith getFsiCommandLine
   
   
       // Additional fsi options are list below.
  
positive.code:         fsiConsoleOutput.uprintfn  "%s" (FSIstrings.SR.fsiBanner3())
       
      member __.ShowHelp() =
          let helpLine = sprintf "%s --help" (Path.GetFileNameWithoutExtension executableFileName.Value)
  
          fsiConsoleOutput.uprintfn  ""
          fsiConsoleOutput.uprintfnn "%s" (FSIstrings.SR.fsiIntroTextHeader1directives());
  
negative.code:     let displayHelpFsi tcConfigB (blocks:CompilerOptionBlock list) =
          DisplayBannerText tcConfigB;
          fprintfn fsiConsoleOutput.Out ""
          fprintfn fsiConsoleOutput.Out "%s" (FSIstrings.SR.fsiUsage(executableFileNameWithoutExtension.Value))
          PrintCompilerOptionBlocks blocks
          exit 0
  
  