diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Completion/Core/_expand | 8 |
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index 3eaf88a56..d3a7dd340 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2000-06-29 Sven Wischnowsky <wischnow@zsh.org> + * 12118: Completion/Core/_expand: don't expand partially typed + parameter expansions + * 12115: Completion/Core/_expand, Doc/Zsh/compsys.yo: change suffix style to still do expansion if the suffix contains something to expand diff --git a/Completion/Core/_expand b/Completion/Core/_expand index 12c31860b..77d9c8794 100644 --- a/Completion/Core/_expand +++ b/Completion/Core/_expand @@ -33,7 +33,9 @@ else word="$IPREFIX$PREFIX$SUFFIX$ISUFFIX" fi -[[ "$word" = *\$\{[^\}]# ]] && return 1 +[[ "$word" = *\$(|\{[^\}]#) || + ( "$word" = *\$[a-zA-Z0-9_]## && $+parameters[${word##*\$}] -eq 0 ) ]] && + return 1 zstyle -T ":completion:${curcontext}:" suffix && [[ "$word" = (\~*/|\$(|[=~#^+])[a-zA-Z0-9_\[\]]##[^a-zA-Z0-9_\[\]]|\$\{*\}?)[^\$\{\}\(\)\<\>?^*#~]# ]] && @@ -44,8 +46,8 @@ zstyle -t ":completion:${curcontext}:" accept-exact || { [[ "$word" = \~(|[-+]) || ( "$word" = \~[-+][1-9]## && $word[3,-1] -le $#dirstack ) || ( "$word" = \~* && ${#userdirs[(I)${word[2,-1]}*]}+${#nameddirs[(I)${word[2,-1]}*]} -ne 1 ) || - ( "$word" = \$[a-zA-Z0-9_]## && - ${#parameters[(I)${word[2,-1]}*]} -ne 1 ) ]] && return 1 } + ( "$word" = *\$[a-zA-Z0-9_]## && + ${#parameters[(I)${word##*\$}*]} -ne 1 ) ]] && return 1 } # In exp we will collect the expansions. |