>> In the 1.42 revision of grep.el the subpattern for the filename in the
>> regexps of the first two grep-regexp-alist's elements has been changed
>> from "\(.+?\)" to "\([^:\n]+\)". Now the matching fails if the
>> filename contains a colon, while the previous value worked, thanks to the
>> non greedy "+?" quantifier. Note that the regexp of the third
>> grep-regexp-alist's element is still correct, and is the one that
>> matches if grep-highlight-matches's value is "t" (which is the
>> default).

> Ok, let's use "\(.+?\)".

> You can still get wrong matches with the file names like "abc:123",
> but perhaps such file names are rare.

It doesn't matter whether they're rare or not: they result in ambiguous
output from grep, so in such cases Emacs can't be sure to get it right.
I.e. the .+? regexp is as good as it gets: when it's not ambiguous it works
right, and when it's ambiguous it chooses one of the possibilities
"arbitrarily".


        Stefan


_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

Reply via email to