>From the 1.10 draft release notes:

> All wildcards apply to full path segments only, i.e. * never matches
> /, except for the case where /**/ matches zero or more path segments.
> For example, /*/**/* will match any path which contains at least
> 2 segments and is equivalent to /**/*/* as well as /*/*/**. 

Are «/*/**/*» «/**/*/*» «/*/*/**» really equivalent?  I would have
expected the first two to match any node except / and /'s immediate
children, but I wouldn't expect the third form to match /trunk/iota
where iota is a file, since the pattern has a trailing slash after the
non-optional second component.

Testing this in
    cd $(mktemp -d)
    mkdir -p foo/bar
, I see that neither vim nor zsh finds any matches for */*/**, meaning
they don't interpret ** as "zero or more" path components in this
pattern.  I suppose they only treat ** in this way when it appears with
slashes immediately before and after it.

Cheers,

Daniel

Reply via email to