Re: zsh oddities with recent -current

From: Sean C. Farley <scf_at_FreeBSD.org>
Date: Wed, 25 Jul 2007 10:27:37 -0500 (CDT)
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.org
Received 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