On Wed, 25 Jul 2007, Andrey Chernov wrote: > On Wed, Jul 25, 2007 at 05:33:05PM +0930, Daniel O'Connor wrote: >> I updated my -current box (laptop) on the 18th and I have 2 strange >> issues with zsh. >> >> 1) I can't unset environmental variables set before the shell >> started, eg.. > > zsh uses system's putenv() but home-rolled delete from environment > (instead of unsetenv()). It clearly violates POSIX since it forbids to > mix putenv/setenv/unsetenv with direct environ manipulations: > > "Conforming applications are required not to modify environ directly, > but to use only the functions described here to manipulate the process > environment as an abstract object. Thus, the implementation of the > environment access functions has complete control over the data > structure used to represent the environment (subject to the > requirement that environ be maintained as a list of strings with > embedded equal signs for applications that wish to scan the > environment). This constraint allows the implementation to properly > manage the memory it allocates, either by using allocated storage for > all variables (copying them on the first invocation of setenv() or > unsetenv()), or keeping track of which strings are currently in > allocated space and which are not, via a separate table or some other > means." > > Quick fix will be just to disable HAVE_PUTENV config option. It gains > nothing in the code but makes troubles. I reported the bug to the zsh development list. As of v4.3.4 of zsh, the issue is still there. Sean -- scf_at_FreeBSD.orgReceived on Wed Jul 25 2007 - 13:27:43 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:15 UTC