From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5068 invoked from network); 22 Jul 2003 20:00:51 -0000 Received: from sunsite.dk (130.225.247.90) by ns1.primenet.com.au with SMTP; 22 Jul 2003 20:00:51 -0000 Received: (qmail 4278 invoked by alias); 22 Jul 2003 20:00:40 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 18887 Received: (qmail 4259 invoked from network); 22 Jul 2003 20:00:39 -0000 Received: from localhost (HELO sunsite.dk) (127.0.0.1) by localhost with SMTP; 22 Jul 2003 20:00:39 -0000 X-MessageWall-Score: 0 (sunsite.dk) Received: from [216.27.190.146] by sunsite.dk (MessageWall 1.0.8) with SMTP; 22 Jul 2003 20:0:39 -0000 Received: from ceramic.fifi.org (mail@ceramic.fifi.org [216.27.190.147]) by tantale.fifi.org (8.9.3p2/8.9.3/Debian 8.9.3-21) with ESMTP id NAA06545; Tue, 22 Jul 2003 13:00:34 -0700 Received: from phil by ceramic.fifi.org with local (Exim 3.35 #1 (Debian)) id 19f3JJ-0006wx-00; Tue, 22 Jul 2003 13:00:33 -0700 To: Peter Stephenson Cc: zsh-workers@sunsite.dk Subject: Re: Mysteriously changing parameters and options within a function. References: <25763.1058806651@csr.com> Mail-Copies-To: nobody From: Philippe Troin Date: 22 Jul 2003 13:00:33 -0700 In-Reply-To: <25763.1058806651@csr.com> Message-ID: <87k7aa5o2m.fsf@ceramic.fifi.org> User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Philippe Troin Peter Stephenson 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.