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