Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Mysteriously changing parameters and options within a function.



Peter Stephenson <pws@xxxxxxx> writes:

> Philippe Troin wrote:
> > However, I get this:
> > 
> > % check-missing-locals :
> > check-missing-locals: changed option braceexpand: on  vs. off
> > check-missing-locals: unset parameter LANG
> > check-missing-locals: unset parameter LC_ALL
> > check-missing-locals: unset parameter LC_COLLATE
> > check-missing-locals: unset parameter LC_CTYPE
> > check-missing-locals: unset parameter LC_MESSAGES
> > check-missing-locals: unset parameter LC_NUMERIC
> > check-missing-locals: unset parameter LC_TIME
> > 
> > What makes LANG, LC_* and the braceexpand option appear to be in
> > different states at the beginning and the end of the function?
> 
> I don't think the parameter module should be showing unset parameters
> when you ask it for a list of parameters which are set.
> 
> I can't show up the bug with braceexpand, which is probably something
> different.  There was a bug fixed back in March:
> 
> 	* 18325: Src/Modules/parameter.c: options on by default weren't
> 	handled correctly.
> 
> but I don't think that's it either.

I cannot see the braceexpand problem with the current CVS tree.

> 
> Index: Src/Modules/parameter.c
> ===================================================================
> RCS file: /cvsroot/zsh/zsh/Src/Modules/parameter.c,v
> retrieving revision 1.23
> diff -u -r1.23 parameter.c
> --- Src/Modules/parameter.c	7 Mar 2003 12:31:12 -0000	1.23
> +++ Src/Modules/parameter.c	21 Jul 2003 16:54:48 -0000
> @@ -181,6 +181,8 @@
>  
>      for (i = 0; i < realparamtab->hsize; i++)
>  	for (hn = realparamtab->nodes[i]; hn; hn = hn->next) {
> +	    if (((Param)hn)->flags & PM_UNSET)
> +		continue;
>  	    pm.nam = hn->nam;
>  	    if (func != scancountparams &&
>  		((flags & (SCANPM_WANTVALS|SCANPM_MATCHVAL)) ||

I can confirm that this patch fixes the problem for LANG and the LC_*
variables.

Please consider applying the patch to CVS.

Phil.



Messages sorted by: Reverse Date, Date, Thread, Author