mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-27 16:50:58 +01:00
52910: Improve handling of **/ patterns
This commit is contained in:
parent
7f196de9d7
commit
300ce96080
2 changed files with 5 additions and 3 deletions
|
|
@ -249,13 +249,13 @@ errs=()
|
|||
(( ${#files} )) || errs=( "no files matched \`$fpat'" )
|
||||
|
||||
for f in $files; do
|
||||
if [[ $pat = (#b)(*)\(\*\*##/\)(*) ]]; then
|
||||
if [[ $pat = (#b)(*)(\(\*\*##/\)|\*\*##/)(*) ]]; then
|
||||
# This looks like a recursive glob. This isn't good enough,
|
||||
# because we should really enforce that $match[1] and $match[2]
|
||||
# because we should really enforce that $match[1] and $match[3]
|
||||
# don't match slashes unless they were explicitly given. But
|
||||
# it's a start. It's fine for the classic case where (**/) is
|
||||
# at the start of the pattern.
|
||||
pat="$match[1](*/|)$match[2]"
|
||||
pat="$match[1](*/|)$match[3]"
|
||||
fi
|
||||
[[ -e $f && $f = (#b)${~pat} ]] || continue
|
||||
set -- "$match[@]"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue