diff options
-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:=]#:[^=]*) |