Hi, I downloaded qiv sources, went in the right directory, typed "make" and <TAB> I got the error : (eval):1: read-only variable: CURSOR This is because in _make, Makefile lines are parsed to find for variables declarations, and then assigned with : eval $var=\$val But in qiv Makefile, there is the line : CURSOR = 84 and CURSOR is a parameter special in zsh. That problem could happen with any special parameters. I found a solution by adding the line typeset -h $var just before eval I don't known if there could be drawbacks with my fix, but I still send it. arno. ? _make.patch Index: Completion/Unix/Command/_make =================================================================== RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_make,v retrieving revision 1.17 diff -u -r1.17 _make --- Completion/Unix/Command/_make 9 Feb 2006 14:51:32 -0000 1.17 +++ Completion/Unix/Command/_make 8 Nov 2006 19:31:11 -0000 @@ -60,6 +60,7 @@ var=${input%%[ $TAB]#=*} val=${input#*=} val=${val##[ $TAB]#} + local -h $var eval $var=\$val ;; ([[:alnum:]][[:alnum:]_]#[ $TAB]#:=*) @@ -67,6 +68,7 @@ val=${input#*=} val=${val##[ $TAB]#} val=$(expandVars 10 $val) + local -h $var eval $var=\$val ;; ([[:alnum:]][^$TAB:=]#:[^=]*)
Attachment:
signature.asc
Description: Digital signature