diff options
| author | Bart Schaefer <schaefer@zsh.org> | 2024-05-24 19:24:23 -0700 |
|---|---|---|
| committer | Bart Schaefer <schaefer@zsh.org> | 2024-05-24 19:24:23 -0700 |
| commit | 300ce96080b0679038db946ef34ac5c2d26646b5 (patch) | |
| tree | f8580315cad1b0f7860f01bc3c0904de61c46b9e /Functions | |
| parent | 52904: Improve quoting of paths passed via _call_program to "git ls-files" (diff) | |
| download | zsh-300ce96080b0679038db946ef34ac5c2d26646b5.tar zsh-300ce96080b0679038db946ef34ac5c2d26646b5.tar.gz zsh-300ce96080b0679038db946ef34ac5c2d26646b5.tar.bz2 zsh-300ce96080b0679038db946ef34ac5c2d26646b5.tar.lz zsh-300ce96080b0679038db946ef34ac5c2d26646b5.tar.xz zsh-300ce96080b0679038db946ef34ac5c2d26646b5.tar.zst zsh-300ce96080b0679038db946ef34ac5c2d26646b5.zip | |
52910: Improve handling of **/ patterns
Diffstat (limited to 'Functions')
| -rw-r--r-- | Functions/Misc/zmv | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Functions/Misc/zmv b/Functions/Misc/zmv index 5c03e9ea1..2002af5a6 100644 --- a/Functions/Misc/zmv +++ b/Functions/Misc/zmv @@ -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[@]" |
