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
}
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;
}
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
{
pvindex arg;
BGET_pvindex(arg);
- cPMOP->op_pmstashpv = arg;
+ BSET_op_pmstashpv(cPMOP, arg);
break;
}
case INSN_OP_PMREPLROOTPO: /* 109 */