From aac49ecdbd155c75e06f2632fc66f065c26c75b2 Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Thu, 23 Dec 1999 22:07:01 +0000 Subject: zsh-workers/9149 --- Completion/Builtins/_cd | 4 +++- Completion/Core/_path_files | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Completion/Builtins/_cd b/Completion/Builtins/_cd index 8e72bd7ad..6e1790df3 100644 --- a/Completion/Builtins/_cd +++ b/Completion/Builtins/_cd @@ -37,9 +37,11 @@ elif _popd || [[ $PREFIX != (\~|/|./|../)* && $#cdpath -ne 0 ]]; then PREFIX="~$PREFIX" _path_files -/ else + local tmpcdpath + tmpcdpath=(${(@)cdpath:#.}) _alternative \ 'local-directories:local directories:_path_files -/' \ - "path-directories: directories in cdpath:_path_files -W \\(${${(@)cdpath:#.}}\\) -/" + "path-directories:directories in cdpath:_path_files -W tmpcdpath -/" fi else _path_files -/ diff --git a/Completion/Core/_path_files b/Completion/Core/_path_files index dd9934506..39e02fb58 100644 --- a/Completion/Core/_path_files +++ b/Completion/Core/_path_files @@ -44,7 +44,9 @@ while getopts "P:S:qr:R:W:F:J:V:X:f/g:M:12n" opt; do if [[ "$tmp1[1]" = '(' ]]; then prepaths=( ${^=tmp1[2,-2]%/}/ ) else - prepaths=( ${(P)^=tmp1%/}/ ) + # In this case the variable should be an array, so + # don't use an extra ${=...}. + prepaths=( ${(P)^tmp1%/}/ ) (( ! $#prepaths )) && prepaths=( ${tmp1%/}/ ) fi (( ! $#prepaths )) && prepaths=( '' ) -- cgit 1.4.1