anchor.diff:        }
         _arguments[i] = arguments[i];
         if (Platform.operatingSystem == 'windows') {
  -        _arguments[i] = _windowsArgumentEscape(_arguments[i]);
  +        _arguments[i] = _windowsArgumentEscape(_arguments[i],
  +                                               shellEscape: runInShell);
         }
       }
   
  
positive.code:                String this._workingDirectory,
                 Map<String, String> environment,
                 bool runInShell) {
      if (identical(runInShell, true)) {
        arguments = _getShellArguments(path, arguments);
        path = _getShellCommand();
      }
  
negative.code:     return shellArguments;
    }
  
    String _windowsArgumentEscape(String argument, { bool shellEscape: false }) {
      var result = argument;
      if (argument.contains('\t') ||
          argument.contains(' ') ||
          // TODO(ajohnsen): Remove shellEscape.
          (shellEscape && argument.contains('"'))) {
        // Produce something that the C runtime on Windows will parse
        // back as this string.
  
  