Change 29420 by [EMAIL PROTECTED] on 2006/11/29 15:26:00
Subject: Re: Fix \k<foo> preceded by literal
From: demerphq <[EMAIL PROTECTED]>
Date: Wed, 29 Nov 2006 16:18:34 +0100
Message-ID: <[EMAIL PROTECTED]>
Affected files ...
... //depot/perl/regcomp.c#517 edit
... //depot/perl/regcomp.h#103 edit
... //depot/perl/t/op/re_tests#110 edit
Differences ...
==== //depot/perl/regcomp.c#517 (text) ====
Index: perl/regcomp.c
--- perl/regcomp.c#516~29413~ 2006-11-29 01:30:02.000000000 -0800
+++ perl/regcomp.c 2006-11-29 07:26:00.000000000 -0800
@@ -6472,6 +6472,7 @@
case 'P':
case 'N':
case 'R':
+ case 'k':
--p;
goto loopdone;
case 'n':
==== //depot/perl/regcomp.h#103 (text) ====
Index: perl/regcomp.h
--- perl/regcomp.h#102~29394~ 2006-11-27 00:02:35.000000000 -0800
+++ perl/regcomp.h 2006-11-29 07:26:00.000000000 -0800
@@ -376,7 +376,9 @@
#else
EXTCONST U8 PL_varies[] = {
BRANCH, BACK, STAR, PLUS, CURLY, CURLYX, REF, REFF, REFFL,
- WHILEM, CURLYM, CURLYN, BRANCHJ, IFTHEN, SUSPEND, CLUMP, 0
+ WHILEM, CURLYM, CURLYN, BRANCHJ, IFTHEN, SUSPEND, CLUMP,
+ NREF, NREFF, NREFFL,
+ 0
};
#endif
@@ -751,3 +753,4 @@
#endif /* DEBUG RELATED DEFINES */
+
==== //depot/perl/t/op/re_tests#110 (text) ====
Index: perl/t/op/re_tests
--- perl/t/op/re_tests#109~29413~ 2006-11-29 01:30:02.000000000 -0800
+++ perl/t/op/re_tests 2006-11-29 07:26:00.000000000 -0800
@@ -1193,3 +1193,9 @@
(foo)(\R2) foofoo y $1-$2 foo-foo
(foo)(\R2)(foo)(\R2) foofoofoofoo y $1-$2-$3-$4 foo-foo-foo-foo
(([abc]+) \R1)(([abc]+) \R1) abc abccba cba y $2-$4 abc-cba
+
+/(?'n'foo) \k<n>/ ..foo foo.. y $1 foo
+/(?'n'foo) \k<n>/ ..foo foo.. y $+{n} foo
+/(?<n>foo) \k'n'/ ..foo foo.. y $1 foo
+/(?<n>foo) \k'n'/ ..foo foo.. y $+{n} foo
+/(?<as>as) (\w+) \k<as> (\w+)/ as easy as pie y $1-$2-$3
as-easy-pie
End of Patch.