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

Re: LC_ALL=C foo, where foo is a shell function



On Apr 14,  3:38pm, Clint Adams wrote:
}
} On Sun, Jul 10, 2005 at 12:57:47AM +0000, Bart Schaefer wrote:
} > I just noticed

Nearly two years ago.  Phrases like "just now" certainly take on a
different flavor in the face of permanent archival ...

} > that, even in the latest build, if LC_ALL starts out set
} > (even to nothing), but not exported, then when "LC_ALL=C foo" is run
} > LC_ALL becomes and remains exported, even though its value gets reset
} > to the previous state.
} 
} I'm think seeing the same behavior in current CVS.

I'm not able to reproduce it with the latest CVS on my RHEL4 machine, or
at least I can't do so with the most straightforward interpretation of
"LC_ALL starts out set".

If it is happening, it has to be related to this (params.c):

    void
    lc_allsetfn(Param pm, char *x)
    {
	strsetfn(pm, x);
	if (!x) {
	    queue_signals();
	    setlang(getsparam("LANG"));
	    unqueue_signals();
	}
	else
	    setlocale(LC_ALL, x);
    }



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