anchor.diff:  
     GlobMatcher matchAsPrefix(String string, [int start = 0]) {
       int n = start;
  +    RegExp globCharsRegExp = new RegExp(r"[\\*?\[\{]");
  +
       do {
  -      n = string.indexOf(new RegExp(r"[\\*?\[\{]"), n);
  +      n = string.indexOf(globCharsRegExp, n);
         GlobMatcher matcher;
   
         if (n == -1) {
  
positive.code:       globMatchers.insert(0, new PartialPathMatcher(pattern, globPattern, 0));
      }
  
      _globRegExpParts = globMatchers.map((GlobMatcher m) =>
          _escape(pattern.substring(m.start, m.tokenStart)) + m.toRegExp()).toList();
    }
  
  
negative.code:   // PREFIX_MATCH - Prefix match found ("f*/b*/" partially matches "foo/")
    // COMPLETE_MATCH - Prefix match found ("f**/b*" completely matches "foo/bar/baz")
    int matchPath(String path) {
      int globIndex = 0;
  
      for (;globIndex < _globPartsAsStrings.length; globIndex++) {
        if (globIndex >= _globPartsAsRegExps.length) {
          _globSoFar += ((_globSoFar != "") ? ".*" : "") +
              _globPartsAsStrings[globIndex];
          if (globIndex == _globPartsAsStrings.length - 1) {
            _globSoFar = _globSoFar + "\$";
          }
          _globPartsAsRegExps.add(new RegExp(_globSoFar));
        }
        if (_globPartsAsRegExps[globIndex].matchAsPrefix(path) == null) break;
      }
  
      if (globIndex > 0) {
        if (globIndex == _globPartsAsStrings.length) {
          return COMPLETE_MATCH;
        }
        return PREFIX_MATCH;
  