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/
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:15 UTC