Lacking committer privileges, I'd like to discuss patches first. I'll only start coding anything after I received at least one +1 from a committer. After that I would submit a patch and wait for it to be applied or rejected. That way I hope to avoid warnocked patches.
t/pmc/env.t is failing on win32, so I looked into it. On Windows, there are two different ways to access the environment: _putenv, _getenv, _environ - SetEnvironmentVariable, GetEnvironmentVariable, GetEnvironmentStrings env.pmc mixes those two, which causes problems. Variables set via SetEnvironmentVariable don't get reflected in _environ. I can think of two ways to fix this: - Hide every env access behind the platform stuff. That is, add something like Parrot_environ. - Provide platform specific PMCs. That is, there are two different env.pmc implementations, depending on the platform. This would be simpler, more isolated and probably more efficient because it avoids another level of indirection. Let me know what you think. Ron