1 |
ChangeLog for PCRE |
ChangeLog for PCRE |
2 |
------------------ |
------------------ |
3 |
|
|
4 |
Version 7.2 01-May-07 |
Version 7.2 05-June-07 |
5 |
--------------------- |
--------------------- |
6 |
|
|
7 |
1. If the fr_FR locale cannot be found for test 3, try the "french" locale, |
1. If the fr_FR locale cannot be found for test 3, try the "french" locale, |
21 |
stack recursion. This gives a massive performance boost under BSD, but just |
stack recursion. This gives a massive performance boost under BSD, but just |
22 |
a small improvement under Linux. However, it saves one field in the frame |
a small improvement under Linux. However, it saves one field in the frame |
23 |
in all cases. |
in all cases. |
24 |
|
|
25 |
6. Added more features from the forthcoming Perl 5.10: |
6. Added more features from the forthcoming Perl 5.10: |
26 |
|
|
27 |
(a) (?-n) (where n is a string of digits) is a relative subroutine or |
(a) (?-n) (where n is a string of digits) is a relative subroutine or |
28 |
recursion call. It refers to the nth most recently opened parentheses. |
recursion call. It refers to the nth most recently opened parentheses. |
29 |
|
|
30 |
(b) (?+n) is also a relative subroutine call; it refers to the nth next |
(b) (?+n) is also a relative subroutine call; it refers to the nth next |
31 |
to be opened parentheses. |
to be opened parentheses. |
32 |
|
|
33 |
(c) Conditions that refer to capturing parentheses can be specified |
(c) Conditions that refer to capturing parentheses can be specified |
34 |
relatively, for example, (?(-2)... or (?(+3)... |
relatively, for example, (?(-2)... or (?(+3)... |
35 |
|
|
36 |
(d) \K resets the start of the current match so that everything before |
(d) \K resets the start of the current match so that everything before |
37 |
is not part of it. |
is not part of it. |
38 |
|
|
39 |
(e) \k{name} is synonymous with \k<name> and \k'name' (.NET compatible). |
(e) \k{name} is synonymous with \k<name> and \k'name' (.NET compatible). |
40 |
|
|
41 |
(f) \g{name} is another synonym - part of Perl 5.10's unification of |
(f) \g{name} is another synonym - part of Perl 5.10's unification of |
42 |
reference syntax. |
reference syntax. |
43 |
|
|
44 |
7. Added two new calls to pcre_fullinfo(): PCRE_INFO_OKPARTIAL and |
7. Added two new calls to pcre_fullinfo(): PCRE_INFO_OKPARTIAL and |
45 |
PCRE_INFO_JCHANGED. |
PCRE_INFO_JCHANGED. |
46 |
|
|
47 |
8. A pattern such as (.*(.)?)* caused pcre_exec() to fail by either not |
8. A pattern such as (.*(.)?)* caused pcre_exec() to fail by either not |
48 |
terminating or by crashing. Diagnosed by Viktor Griph; it was in the code |
terminating or by crashing. Diagnosed by Viktor Griph; it was in the code |
49 |
for detecting groups that can match an empty string. |
for detecting groups that can match an empty string. |
50 |
|
|
51 |
|
9. A pattern with a very large number of alternatives (more than several |
52 |
|
hundred) was running out of internal workspace during the pre-compile |
53 |
|
phase, where pcre_compile() figures out how much memory will be needed. A |
54 |
|
bit of new cunning has reduced the workspace needed for groups with |
55 |
|
alternatives. The 1000-alternative test pattern now uses 12 bytes of |
56 |
|
workspace instead of running out of the 4096 that are available. |
57 |
|
|
58 |
|
|
59 |
Version 7.1 24-Apr-07 |
Version 7.1 24-Apr-07 |
60 |
--------------------- |
--------------------- |