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
