Change 21032 by [EMAIL PROTECTED] on 2003/09/04 17:30:28

        Subject: [PATCH] Re: [PATCH] Re: ByteLoader and MSWin32
        From: Enache Adrian <[EMAIL PROTECTED]>
        Date: Thu, 4 Sep 2003 20:09:06 +0300
        Message-ID: <[EMAIL PROTECTED]>

Affected files ...

... //depot/perl/bytecode.pl#56 edit
... //depot/perl/ext/B/B/Bytecode.pm#35 edit
... //depot/perl/ext/ByteLoader/bytecode.h#39 edit
... //depot/perl/ext/ByteLoader/byterun.c#31 edit

Differences ...

==== //depot/perl/bytecode.pl#56 (text) ====
Index: perl/bytecode.pl
--- perl/bytecode.pl#55~20816~  Thu Aug 21 22:15:30 2003
+++ perl/bytecode.pl    Thu Sep  4 10:30:28 2003
@@ -452,7 +452,7 @@
 op_pmreplstart cPMOP->op_pmreplstart                   opindex
 op_pmnext      *(OP**)&cPMOP->op_pmnext                opindex
 #ifdef USE_ITHREADS
-op_pmstashpv   cPMOP->op_pmstashpv                     pvindex
+op_pmstashpv   cPMOP                                   pvindex         x
 op_pmreplrootpo        cPMOP->op_pmreplroot                    OP*/PADOFFSET
 #else
 op_pmstash     *(SV**)&cPMOP->op_pmstash               svindex

==== //depot/perl/ext/B/B/Bytecode.pm#35 (text) ====
Index: perl/ext/B/B/Bytecode.pm
--- perl/ext/B/B/Bytecode.pm#34~20789~  Wed Aug 20 03:49:51 2003
+++ perl/ext/B/B/Bytecode.pm    Thu Sep  4 10:30:28 2003
@@ -735,15 +735,17 @@
     }
     if ($scan) {
        my $f;
-       open $f, $scan
-           or bwarn("cannot rescan '$_'"), next;
-       while (<$f>) {
-           /^#\s*line\s+\d+\s+("?)(.*)\1/ and $files{$2} = 1;
-           /^#/ and next;
-           if (/\bgoto\b/ && !$keep_syn) {
-               bwarn "keeping the syntax tree: \"goto\" op found";
-               keep_syn;
+       if (open $f, $scan) {
+           while (<$f>) {
+               /^#\s*line\s+\d+\s+("?)(.*)\1/ and $files{$2} = 1;
+               /^#/ and next;
+               if (/\bgoto\b\s*[^&]/ && !$keep_syn) {
+                   bwarn "keeping the syntax tree: \"goto\" op found";
+                   keep_syn;
+               }
            }
+       } else {
+           bwarn "cannot rescan '$scan'";
        }
        close $f;
     }

==== //depot/perl/ext/ByteLoader/bytecode.h#39 (text) ====
Index: perl/ext/ByteLoader/bytecode.h
--- perl/ext/ByteLoader/bytecode.h#38~21018~    Wed Sep  3 05:08:23 2003
+++ perl/ext/ByteLoader/bytecode.h      Thu Sep  4 10:30:28 2003
@@ -215,6 +215,8 @@
        return 0;                               \
     } STMT_END
 
+#define BSET_op_pmstashpv(op, arg)     PmopSTASHPV_set(op, arg)
+
 /* 
  * stolen from toke.c: better if that was a function.
  * in toke.c there are also #ifdefs for dosish systems and i/o layers

==== //depot/perl/ext/ByteLoader/byterun.c#31 (text+w) ====
Index: perl/ext/ByteLoader/byterun.c
--- perl/ext/ByteLoader/byterun.c#30~20852~     Sat Aug 23 00:15:58 2003
+++ perl/ext/ByteLoader/byterun.c       Thu Sep  4 10:30:28 2003
@@ -817,7 +817,7 @@
            {
                pvindex arg;
                BGET_pvindex(arg);
-               cPMOP->op_pmstashpv = arg;
+               BSET_op_pmstashpv(cPMOP, arg);
                break;
            }
          case INSN_OP_PMREPLROOTPO:            /* 109 */
End of Patch.

Reply via email to