summaryrefslogtreecommitdiff
path: root/lang/perl5.8/files/patch-lastcloseparen
blob: 3676fed904de8e5306be088eeabddcc3db00b238 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--- pp_hot.c.orig	Mon Jul 14 10:20:29 2003
+++ pp_hot.c	Mon Jul 14 10:21:31 2003
@@ -1406,7 +1406,7 @@ yup:					/* Confirmed by INTUIT */
 	rx->startp[0] = s - truebase;
 	rx->endp[0] = s - truebase + rx->minlen;
     }
-    rx->nparens = rx->lastparen = 0;	/* used by @- and @+ */
+    rx->nparens = rx->lastparen = rx->lastcloseparen = 0;	/* used by @-, @+, and $^N */
     LEAVE_SCOPE(oldsave);
     RETPUSHYES;
 
--- sv.c.orig	Mon Jul 14 10:21:49 2003
+++ sv.c	Mon Jul 14 10:22:35 2003
@@ -11474,6 +11474,7 @@ perl_clone_using(PerlInterpreter *proto_
     PL_regstartp	= (I32*)NULL;
     PL_regendp		= (I32*)NULL;
     PL_reglastparen	= (U32*)NULL;
+    PL_reglastcloseparen	= (U32*)NULL;
     PL_regtill		= Nullch;
     PL_reg_start_tmp	= (char**)NULL;
     PL_reg_start_tmpl	= 0;
--- regexec.c.orig	Mon Jul 14 10:37:02 2003
+++ regexec.c	Mon Jul 14 10:37:34 2003
@@ -2107,6 +2107,7 @@ S_regtry(pTHX_ regexp *prog, char *start
     PL_reglastparen = &prog->lastparen;
     PL_reglastcloseparen = &prog->lastcloseparen;
     prog->lastparen = 0;
+    prog->lastcloseparen = 0;
     PL_regsize = 0;
     DEBUG_r(PL_reg_starttry = startpos);
     if (PL_reg_start_tmpl <= prog->nparens) {