summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo van der Sanden <hv@crypt.org>1999-02-18 18:51:38 +0000
committerGurusamy Sarathy <gsar@cpan.org>1999-02-20 00:34:01 +0000
commit0ef3e39ecdfec810eb60a7318e9f8475748553e2 (patch)
treecaa332f234a93f6a05d9efe4b1405ae3e6c3970d
parentbb897dfcf82adc653513b0b92523fb44767a9837 (diff)
downloadperl-0ef3e39ecdfec810eb60a7318e9f8475748553e2.tar.gz
test failures with MIME-tools-4.122 and perl 5.005_55
Message-Id: <199902181851.SAA14018@crypt.compulink.co.uk> p4raw-id: //depot/perl@2991
-rw-r--r--pp_hot.c12
-rwxr-xr-xt/op/pat.t6
2 files changed, 13 insertions, 5 deletions
diff --git a/pp_hot.c b/pp_hot.c
index b1bf270866..3ab4f304e7 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -855,7 +855,7 @@ PP(pp_match)
register char *s;
char *strend;
I32 global;
- I32 r_flags;
+ I32 r_flags = 0;
char *truebase;
register REGEXP *rx = pm->op_pmregexp;
bool rxtainted;
@@ -904,14 +904,18 @@ PP(pp_match)
if (mg && mg->mg_len >= 0) {
if (!(rx->reganch & ROPT_GPOS_SEEN))
rx->endp[0] = rx->startp[0] = s + mg->mg_len;
+ else if (rx->reganch & ROPT_ANCH_GPOS) {
+ r_flags |= REXEC_IGNOREPOS;
+ rx->endp[0] = rx->startp[0] = s + mg->mg_len;
+ }
minmatch = (mg->mg_flags & MGf_MINMATCH);
update_minmatch = 0;
}
}
}
- r_flags = ((gimme != G_ARRAY && !global && rx->nparens)
- || SvTEMP(TARG) || PL_sawampersand)
- ? REXEC_COPY_STR : 0;
+ if ((gimme != G_ARRAY && !global && rx->nparens)
+ || SvTEMP(TARG) || PL_sawampersand)
+ r_flags |= REXEC_COPY_STR;
if (SvSCREAM(TARG) && rx->check_substr
&& SvTYPE(rx->check_substr) == SVt_PVBM
&& SvVALID(rx->check_substr))
diff --git a/t/op/pat.t b/t/op/pat.t
index b2c0e055fe..b6a3a3a240 100755
--- a/t/op/pat.t
+++ b/t/op/pat.t
@@ -4,7 +4,7 @@
# the format supported by op/regexp.t. If you want to add a test
# that does fit that format, add it to op/re_tests, not here.
-print "1..185\n";
+print "1..186\n";
BEGIN {
chdir 't' if -d 't';
@@ -825,6 +825,10 @@ print "not " unless($1 eq 'de');
print "ok $test\n";
$test++;
+print "not " unless $foo =~ /\Gef/g;
+print "ok $test\n";
+$test++;
+
undef pos $foo;
$foo=~/\G(..)/g;