| 133 |
"aaaabaaabaabab" the value of captured group 2 is now correctly recorded as |
"aaaabaaabaabab" the value of captured group 2 is now correctly recorded as |
| 134 |
"aaa". Previously, it would have been "a". As part of this code |
"aaa". Previously, it would have been "a". As part of this code |
| 135 |
refactoring, the way recursive calls are handled has also been changed. |
refactoring, the way recursive calls are handled has also been changed. |
| 136 |
|
|
| 137 |
|
24. If an assertion condition captured any substrings, they were not passed |
| 138 |
|
back unless some other capturing happened later. For example, if |
| 139 |
|
(?(?=(a))a) was matched against "a", no capturing was returned. |
| 140 |
|
|
| 141 |
|
25. When studying a pattern that contained subroutine calls or assertions, |
| 142 |
|
the code for finding the minimum length of a possible match was handling |
| 143 |
|
direct recursions such as (xxx(?1)|yyy) but not mutual recursions (where |
| 144 |
|
group 1 called group 2 while simultaneously a separate group 2 called group |
| 145 |
|
1). A stack overflow occurred in this case. I have fixed this by limiting |
| 146 |
|
the recursion depth to 10. |
| 147 |
|
|
| 148 |
|
|
| 149 |
Version 8.12 15-Jan-2011 |
Version 8.12 15-Jan-2011 |