summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/POSIX/sigaction.t6
-rw-r--r--lib/File/stat.t4
-rw-r--r--perl.c3
-rwxr-xr-xt/io/utf8.t1
4 files changed, 10 insertions, 4 deletions
diff --git a/ext/POSIX/sigaction.t b/ext/POSIX/sigaction.t
index c38b122775..9731125311 100644
--- a/ext/POSIX/sigaction.t
+++ b/ext/POSIX/sigaction.t
@@ -118,10 +118,12 @@ eval {
print $@ ? "ok 17\n" : "not ok 17\n";
$newaction=POSIX::SigAction->new(sub { $ok10=1; });
-sigaction(SIGCONT, POSIX::SigAction->new('DEFAULT'));
-{
+if (eval { SIGCONT; 1 }) {
+ sigaction(SIGCONT, POSIX::SigAction->new('DEFAULT'));
+ {
local($^W)=0;
kill 'CONT', $$;
+ }
}
print $bad18 ? "not ok 18\n" : "ok 18\n";
diff --git a/lib/File/stat.t b/lib/File/stat.t
index ac6d95f745..999d2b267a 100644
--- a/lib/File/stat.t
+++ b/lib/File/stat.t
@@ -31,7 +31,9 @@ my $stat = stat "TEST"; # This is the OO stat.
print "not " unless $stat->dev == $stat[ 0];
print "ok 2\n";
-print "not " unless $stat->ino == $stat[ 1];
+# On OS/2 (fake) ino is not constant, it is incremented each time
+print "# ino=>@{[$stat->ino]}, 1=>$stat[ 1]\nnot "
+ unless $stat->ino == $stat[ 1] or $^O eq 'os2';
print "ok 3\n";
print "not " unless $stat->mode == $stat[ 2];
diff --git a/perl.c b/perl.c
index ae2091f5e5..34da642d81 100644
--- a/perl.c
+++ b/perl.c
@@ -3141,7 +3141,8 @@ S_find_beginning(pTHX)
if ((s = sv_gets(PL_linestr, PL_rsfp, 0)) == Nullch)
Perl_croak(aTHX_ "No Perl script found in input\n");
#endif
- if (*s == '#' && s[1] == '!' && (s = instr(s,"perl"))) {
+ s2 = s;
+ if (*s == '#' && s[1] == '!' && ((s = instr(s,"perl")) || (s = instr(s2,"PERL")))) {
PerlIO_ungetc(PL_rsfp, '\n'); /* to keep line count right */
PL_doextract = FALSE;
while (*s && !(isSPACE (*s) || *s == '#')) s++;
diff --git a/t/io/utf8.t b/t/io/utf8.t
index a541030015..224dfd70da 100755
--- a/t/io/utf8.t
+++ b/t/io/utf8.t
@@ -177,5 +177,6 @@ $x = <F>; chomp $x;
eval { sprintf "%vd\n", $x; }
}
+close F;
unlink('a');