zsh oddities with recent -current
Andrey Chernov
ache at nagual.pp.ru
Wed Jul 25 08:47:59 UTC 2007
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/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20070725/ad809997/attachment.pgp
More information about the freebsd-current
mailing list