Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <42E507BD.8080508@familiehaase.de> Date: Mon, 25 Jul 2005 17:39:41 +0200 From: "Gerrit P. Haase" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.8) Gecko/20050511 MIME-Version: 1.0 To: cygwin AT cygwin DOT com CC: Scott Bolte , Michael G Schwern , Andrew Ho , makemaker AT perl DOT org, perl5-porters AT perl DOT org, petdance AT cpan DOT org Subject: Re: [perl-5.8.7] Perl regression tests fail when lib directory is present References: <200507222016 DOT j6MKGTXI053801 AT crag DOT niss DOT com> <20050722203850 DOT GG459 AT trixie DOT casa DOT cgf DOT cx> In-Reply-To: <20050722203850.GG459@trixie.casa.cgf.cx> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Christopher Faylor wrote: > On Fri, Jul 22, 2005 at 03:16:29PM -0500, Scott Bolte wrote: > >>On Thu, 21 Jul 2005 00:14:51 -0700, Michael G Schwern wrote: >> >>> >>>Its gotta be something about _default_inc(). Nothing looks wrong from >>>here. My only guess is that local $ENV{PERL5LIB} is ineffective. That >>>would account for the alternation. >> >> It's not just the local scoping. There is something >> seriously unexpected with environment variables, perl >> and cygwin. >> >> ----- th4.pl >> #!/usr/bin/perl >> use strict; >> use warnings; >> >> $ENV{SHOULD_NEVER_BE_SEEN} = "hello world"; >> delete($ENV{SHOULD_NEVER_BE_SEEN}); >> system("printenv | grep SHOULD_NEVER_BE_SEEN"); >> >> On UNIX systems that script properly prints nothing. Not so >> on my cygwin (on top of XP) system: >> >> cygwin% perl ~/th4.pl >> SHOULD_NEVER_BE_SEEN=hello world >> >> It seems to imply that the results of unsetenv(3) are not >> persistent across an exec(2). > > > ....or that perl isn't using unsetenv, since AFAICT, unsetenv() is operating > as it should for both cygwin and non-cygwin processes. > > This was a standard problem way way back when I was maintaining my own > version of perl for cygwin (since cygwin didn't include perl). There was > special code in perl to deal with cygwin's environment, IIRC. Maybe it's > broken in 5.8.7. > > cgf Indeed, I see no unsetenv() in the perl sources. Since it seems that the problem is independent of TH the problem should be located in perl itself. I'll try with a recent devel version to see if it fails here too. Scott, have you tried te above script with other (older) versions of Cygwin perl too? Since TH works with perl-5.8.6 I suspect some of the changes integrated into maint perl to be problematic for Cygwin, however it may also be an older bug in Cygwin perl. Gerrit -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/