Re: zsh oddities with recent -current

From: Andrey Chernov <ache_at_nagual.pp.ru>
Date: Wed, 25 Jul 2007 13:02:03 +0400
On Wed, Jul 25, 2007 at 12:47:56PM +0400, 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.

The patch is here:

--- configure.bak	2006-02-28 17:44:59.000000000 +0300
+++ configure	2007-07-25 12:59:34.000000000 +0400
_at__at_ -10218,7 +10218,7 _at__at_
 	       setlocale \
 	       uname \
 	       signgam \
-	       putenv getenv \
+	       getenv \
 	       brk sbrk \
 	       pathconf sysconf \
 	       tgetent tigetflag tigetnum tigetstr setupterm \

-- 
http://ache.pp.ru/

Received on Wed Jul 25 2007 - 07:02:06 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:15 UTC