/[pcre]/code/trunk/ChangeLog
ViewVC logotype

Diff of /code/trunk/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 9 by nigel, Sat Feb 24 21:38:13 2007 UTC revision 25 by nigel, Sat Feb 24 21:38:45 2007 UTC
# Line 2  ChangeLog for PCRE Line 2  ChangeLog for PCRE
2  ------------------  ------------------
3    
4    
5    Version 2.01 21-Oct-98
6    ----------------------
7    
8    1. Changed the API for pcre_compile() to allow for the provision of a pointer
9    to character tables built by pcre_maketables() in the current locale. If NULL
10    is passed, the default tables are used.
11    
12    
13    Version 2.00 24-Sep-98
14    ----------------------
15    
16    1. Since the (>?) facility is in Perl 5.005, don't require PCRE_EXTRA to enable
17    it any more.
18    
19    2. Allow quantification of (?>) groups, and make it work correctly.
20    
21    3. The first character computation wasn't working for (?>) groups.
22    
23    4. Correct the implementation of \Z (it is permitted to match on the \n at the
24    end of the subject) and add 5.005's \z, which really does match only at the
25    very end of the subject.
26    
27    5. Remove the \X "cut" facility; Perl doesn't have it, and (?> is neater.
28    
29    6. Remove the ability to specify CASELESS, MULTILINE, DOTALL, and
30    DOLLAR_END_ONLY at runtime, to make it possible to implement the Perl 5.005
31    localized options. All options to pcre_study() were also removed.
32    
33    7. Add other new features from 5.005:
34    
35       $(?<=           positive lookbehind
36       $(?<!           negative lookbehind
37       (?imsx-imsx)    added the unsetting capability
38                       such a setting is global if at outer level; local otherwise
39       (?imsx-imsx:)   non-capturing groups with option setting
40       (?(cond)re|re)  conditional pattern matching
41    
42       A backreference to itself in a repeated group matches the previous
43       captured string.
44    
45    8. General tidying up of studying (both automatic and via "study")
46    consequential on the addition of new assertions.
47    
48    9. As in 5.005, unlimited repeated groups that could match an empty substring
49    are no longer faulted at compile time. Instead, the loop is forcibly broken at
50    runtime if any iteration does actually match an empty substring.
51    
52    10. Include the RunTest script in the distribution.
53    
54    11. Added tests from the Perl 5.005_02 distribution. This showed up a few
55    discrepancies, some of which were old and were also with respect to 5.004. They
56    have now been fixed.
57    
58    
59    Version 1.09 28-Apr-98
60    ----------------------
61    
62    1. A negated single character class followed by a quantifier with a minimum
63    value of one (e.g.  [^x]{1,6}  ) was not compiled correctly. This could lead to
64    program crashes, or just wrong answers. This did not apply to negated classes
65    containing more than one character, or to minima other than one.
66    
67    
68    Version 1.08 27-Mar-98
69    ----------------------
70    
71    1. Add PCRE_UNGREEDY to invert the greediness of quantifiers.
72    
73    2. Add (?U) and (?X) to set PCRE_UNGREEDY and PCRE_EXTRA respectively. The
74    latter must appear before anything that relies on it in the pattern.
75    
76    
77    Version 1.07 16-Feb-98
78    ----------------------
79    
80    1. A pattern such as /((a)*)*/ was not being diagnosed as in error (unlimited
81    repeat of a potentially empty string).
82    
83    
84    Version 1.06 23-Jan-98
85    ----------------------
86    
87    1. Added Markus Oberhumer's little patches for C++.
88    
89    2. Literal strings longer than 255 characters were broken.
90    
91    
92    Version 1.05 23-Dec-97
93    ----------------------
94    
95    1. Negated character classes containing more than one character were failing if
96    PCRE_CASELESS was set at run time.
97    
98    
99    Version 1.04 19-Dec-97
100    ----------------------
101    
102    1. Corrected the man page, where some "const" qualifiers had been omitted.
103    
104    2. Made debugging output print "{0,xxx}" instead of just "{,xxx}" to agree with
105    input syntax.
106    
107    3. Fixed memory leak which occurred when a regex with back references was
108    matched with an offsets vector that wasn't big enough. The temporary memory
109    that is used in this case wasn't being freed if the match failed.
110    
111    4. Tidied pcretest to ensure it frees memory that it gets.
112    
113    5. Temporary memory was being obtained in the case where the passed offsets
114    vector was exactly big enough.
115    
116    6. Corrected definition of offsetof() from change 5 below.
117    
118    7. I had screwed up change 6 below and broken the rules for the use of
119    setjmp(). Now fixed.
120    
121    
122  Version 1.03 18-Dec-97  Version 1.03 18-Dec-97
123  ----------------------  ----------------------
124    
# Line 39  optimized code for single-character nega Line 156  optimized code for single-character nega
156  from gcc -Wall, and avoided calling it at all unless PCRE_EXTRA is used.  from gcc -Wall, and avoided calling it at all unless PCRE_EXTRA is used.
157    
158  7. Constructs such as \d{8,} were compiling into the equivalent of  7. Constructs such as \d{8,} were compiling into the equivalent of
159  \d{8}\d{65527} instead of \d{8}\d* which didn't make much difference to the  \d{8}\d{0,65527} instead of \d{8}\d* which didn't make much difference to the
160  outcome, but in this particular case used more store than had been allocated,  outcome, but in this particular case used more store than had been allocated,
161  which caused the bug to be discovered because it threw up an internal error.  which caused the bug to be discovered because it threw up an internal error.
162    

Legend:
Removed from v.9  
changed lines
  Added in v.25

  ViewVC Help
Powered by ViewVC 1.1.5