diff options
author | Mikael Magnusson <mikachu@gmail.com> | 2016-12-01 03:40:17 +0100 |
---|---|---|
committer | Mikael Magnusson <mikachu@gmail.com> | 2016-12-01 03:42:32 +0100 |
commit | 989f5e590c90a472376f1337053c3c8251eb8804 (patch) | |
tree | a8ebed61981cedc38b9474574c8b7b56157070aa /Completion | |
parent | e8699613bcb07c247cb0729636ef6a6bc4ff514f (diff) | |
download | zsh-989f5e590c90a472376f1337053c3c8251eb8804.tar.gz zsh-989f5e590c90a472376f1337053c3c8251eb8804.tar.xz zsh-989f5e590c90a472376f1337053c3c8251eb8804.zip |
40024: Update _path_files since quoting requirements changed in 39412
Diffstat (limited to 'Completion')
-rw-r--r-- | Completion/Unix/Type/_path_files | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/Completion/Unix/Type/_path_files b/Completion/Unix/Type/_path_files index 32942d7a7..041a73ba6 100644 --- a/Completion/Unix/Type/_path_files +++ b/Completion/Unix/Type/_path_files @@ -377,11 +377,9 @@ for prepath in "$prepaths[@]"; do # on, we need to remove quotes from everything that's not a pattern # character, because the code that does the file generation only # strips quotes from pattern characters (you know better than - # to ask why). Because we need to test for a real directory, - # however, for tmp2 we unquote everything. + # to ask why). tmp1=${match[1]} tpre=${match[2]} - tmp2=${(Q)tmp1} tmp1=${tmp1//(#b)\\(?)/$match[1]} tpre=${tpre//(#b)\\([^\\\]\[\^\~\(\)\#\*\?])/$match[1]} # Theory: donepath needs the quoting of special characters @@ -390,7 +388,7 @@ for prepath in "$prepaths[@]"; do # doing something a bit different. tmp3=${donepath//(#b)\\(?)/$match[1]} while true; do - if [[ -z $path_completion || -d $prepath$realpath$tmp3$tmp2 ]]; then + if [[ -z $path_completion || -d $prepath$realpath$tmp3$tmp1 ]]; then tmp3=$tmp3$tmp1/ # Now put donepath back the way it should be. (I think.) donepath=${tmp3//(#b)([\\\]\[\^\~\(\)\#\*\?])/\\$match[1]} |