Change 30723 by [EMAIL PROTECTED] on 2007/03/23 15:27:22

        Integrate:
        [ 19170]
        Subject: [PATCH] Re: Error: Unknown error
        From: Enache Adrian <[EMAIL PROTECTED]>
        Date: Tue, 8 Apr 2003 07:12:13 +0300
        Message-ID: <[EMAIL PROTECTED]>

Affected files ...

... //depot/maint-5.8/perl/lib/strict.t#5 integrate
... //depot/maint-5.8/perl/op.c#211 integrate
... //depot/maint-5.8/perl/t/lib/strict/subs#7 integrate

Differences ...

==== //depot/maint-5.8/perl/lib/strict.t#5 (text) ====
Index: perl/lib/strict.t
--- perl/lib/strict.t#4~19850~  2003-06-24 11:49:22.000000000 -0700
+++ perl/lib/strict.t   2007-03-23 08:27:22.000000000 -0700
@@ -74,7 +74,7 @@
                      `perl -I../lib $switch $tmpfile 2>&1` :
                   $^O eq 'MacOS' ?
                      `$^X -I::lib -MMac::err=unix $switch $tmpfile` :
-                  `./perl $switch $tmpfile 2>&1`;
+                  `$^X $switch $tmpfile 2>&1`;
     my $status = $?;
     $results =~ s/\n+$//;
     # allow expected output to be written as if $prog is on STDIN

==== //depot/maint-5.8/perl/op.c#211 (text) ====
Index: perl/op.c
--- perl/op.c#210~30720~        2007-03-23 06:35:25.000000000 -0700
+++ perl/op.c   2007-03-23 08:27:22.000000000 -0700
@@ -4675,7 +4675,7 @@
        if (*s != 'B' && *s != 'E' && *s != 'C' && *s != 'I')
            goto done;
 
-       if (strEQ(s, "BEGIN")) {
+       if (strEQ(s, "BEGIN") && !PL_error_count) {
            const I32 oldscope = PL_scopestack_ix;
            ENTER;
            SAVECOPFILE(&PL_compiling);

==== //depot/maint-5.8/perl/t/lib/strict/subs#7 (text) ====
Index: perl/t/lib/strict/subs
--- perl/t/lib/strict/subs#6~22554~     2004-03-22 11:29:19.000000000 -0800
+++ perl/t/lib/strict/subs      2007-03-23 08:27:22.000000000 -0700
@@ -362,6 +362,11 @@
 Bareword "bad" not allowed while "strict subs" in use at - line 3.
 Execution of - aborted due to compilation errors.
 ########
+eval q{ use strict; no strict refs; };
+print $@;
+EXPECT
+Bareword "refs" not allowed while "strict subs" in use at (eval 1) line 1.
+########
 # [perl #25147] 
 use strict;
 print "" if BAREWORD;
End of Patch.

Reply via email to