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