diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2006-11-09 10:52:45 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2006-11-09 10:52:45 +0000 |
commit | 434d55da8b2b52da5c22f918cb182839b4b7222d (patch) | |
tree | 4ece46825c723a0dc0d966baa3c32557d837f9cc | |
parent | aa2ae64dff6d623c4635f108788df126285dbb9d (diff) | |
download | zsh-434d55da8b2b52da5c22f918cb182839b4b7222d.tar.gz zsh-434d55da8b2b52da5c22f918cb182839b4b7222d.tar.xz zsh-434d55da8b2b52da5c22f918cb182839b4b7222d.zip |
22988: arno: _make fix for special variables
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | Completion/Unix/Command/_make | 2 |
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 9f46838c1..09849a726 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-11-09 Peter Stephenson <pws@csr.com> + + * 22988: arno: Completion/Unix/Command/_make: failed on + special variable names, so use local -h. Probably not a + complete fix since the function can run recursivesly for + include directives which should use the same namespace. + 2006-11-08 Peter Stephenson <pws@csr.com> * 22983: Src/builtin.c, Src/init.c: exit could loop for ever diff --git a/Completion/Unix/Command/_make b/Completion/Unix/Command/_make index 76eb43f0a..91c434559 100644 --- a/Completion/Unix/Command/_make +++ b/Completion/Unix/Command/_make @@ -60,6 +60,7 @@ parseMakefile() { var=${input%%[ $TAB]#=*} val=${input#*=} val=${val##[ $TAB]#} + local -h $var eval $var=\$val ;; ([[:alnum:]][[:alnum:]_]#[ $TAB]#:=*) @@ -67,6 +68,7 @@ parseMakefile() { val=${input#*=} val=${val##[ $TAB]#} val=$(expandVars 10 $val) + local -h $var eval $var=\$val ;; ([[:alnum:]][^$TAB:=]#:[^=]*) |