In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/c57800287bb7332d399cc08ed7d34606d6640e22?hp=8db8f6b697e6f705eda3222828417099787adba4>

- Log -----------------------------------------------------------------
commit c57800287bb7332d399cc08ed7d34606d6640e22
Author: Father Chrysostomos <[email protected]>
Date:   Tue Jan 24 09:23:02 2012 -0800

    Call FETCH once for stacked filetest ops

M       pp_sys.c
M       t/op/tie_fetch_count.t

commit 0ac0889ddd9fa6a813ba1775f80d5284ffa95d9f
Author: Reini Urban <[email protected]>
Date:   Tue Jan 24 09:30:47 2012 -0600

    skip sigdispatch.t on cygwin RT#88814

M       t/op/sigdispatch.t
-----------------------------------------------------------------------

Summary of changes:
 pp_sys.c               |    2 +-
 t/op/sigdispatch.t     |    8 +++++---
 t/op/tie_fetch_count.t |    4 +++-
 3 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/pp_sys.c b/pp_sys.c
index 47c8a35..d4f1b9f 100644
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -2949,7 +2949,7 @@ S_try_amagic_ftest(pTHX_ char chr) {
     SV* const arg = TOPs;
 
     assert(chr != '?');
-    SvGETMAGIC(arg);
+    if (!(PL_op->op_private & OPpFT_STACKING)) SvGETMAGIC(arg);
 
     if (SvAMAGIC(TOPs))
     {
diff --git a/t/op/sigdispatch.t b/t/op/sigdispatch.t
index 3b8d6ec..332507f 100644
--- a/t/op/sigdispatch.t
+++ b/t/op/sigdispatch.t
@@ -41,8 +41,8 @@ is($@, "Alarm!\n", 'after the second loop');
 SKIP: {
     skip('We can\'t test blocking without sigprocmask', 17)
        if is_miniperl() || !$Config{d_sigprocmask};
-    skip('This doesn\'t work on OpenBSD threaded builds RT#88814', 17)
-        if $^O eq 'openbsd' && $Config{useithreads};
+    skip('This doesn\'t work on $^O threaded builds RT#88814', 17)
+        if $^O =~ /openbsd|cygwin/ && $Config{useithreads};
 
     require POSIX;
     my $pending = POSIX::SigSet->new();
@@ -55,6 +55,8 @@ SKIP: {
     $SIG{USR1} = sub { $gotit++ };
     kill 'SIGUSR1', $$;
     is $gotit, 0, 'Haven\'t received third signal yet';
+
+    diag "2nd sigpending crashes on cygwin" if $^O eq 'cygwin';
     is POSIX::sigpending($pending), '0 but true', 'sigpending';
     is $pending->ismember(&POSIX::SIGUSR1), 1, 'SIGUSR1 is pending';
     
@@ -101,7 +103,7 @@ TODO:
 
 SKIP: {
     skip("alarm cannot interrupt blocking system calls on $^O", 2)
-       if ($^O eq 'MSWin32' || $^O eq 'VMS');
+       if $^O =~ /MSWin32|cygwin|VMS/;
     # RT #88774
     # make sure the signal handler's called in an eval block *before*
     # the eval is popped
diff --git a/t/op/tie_fetch_count.t b/t/op/tie_fetch_count.t
index d9d4989..d721f42 100644
--- a/t/op/tie_fetch_count.t
+++ b/t/op/tie_fetch_count.t
@@ -7,7 +7,7 @@ BEGIN {
     chdir 't' if -d 't';
     @INC = '../lib';
     require './test.pl';
-    plan (tests => 298);
+    plan (tests => 299);
 }
 
 use strict;
@@ -142,6 +142,8 @@ for (split //, 'rwxoRWXOezsfdpSbctugkTBMAC') {
     check_count "-$_ \\\$tied_glob";
 }
 $dummy  = -l $var       ; check_count '-l';
+$var = "test.pl";
+$dummy  = -e -e -e $var ; check_count '-e -e';
 
 # Matching
 $_ = "foo";

--
Perl5 Master Repository

Reply via email to