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

Diff of /code/trunk/ChangeLog

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

revision 15 by nigel, Sat Feb 24 21:38:25 2007 UTC revision 33 by nigel, Sat Feb 24 21:39:01 2007 UTC
# Line 2  ChangeLog for PCRE Line 2  ChangeLog for PCRE
2  ------------------  ------------------
3    
4    
5    Version 2.05 21-Apr-99
6    ----------------------
7    
8    1. Changed the type of magic_number from int to long int so that it works
9    properly on 16-bit systems.
10    
11    2. Fixed a bug which caused patterns starting with .* not to work correctly
12    when the subject string contained newline characters. PCRE was assuming
13    anchoring for such patterns in all cases, which is not correct because .* will
14    not pass a newline unless PCRE_DOTALL is set. It now assumes anchoring only if
15    DOTALL is set at top level; otherwise it knows that patterns starting with .*
16    must be retried after every newline in the subject.
17    
18    
19    Version 2.04 18-Feb-99
20    ----------------------
21    
22    1. For parenthesized subpatterns with repeats whose minimum was zero, the
23    computation of the store needed to hold the pattern was incorrect (too large).
24    If such patterns were nested a few deep, this could multiply and become a real
25    problem.
26    
27    2. Added /M option to pcretest to show the memory requirement of a specific
28    pattern. Made -m a synonym of -s (which does this globally) for compatibility.
29    
30    3. Subpatterns of the form (regex){n,m} (i.e. limited maximum) were being
31    compiled in such a way that the backtracking after subsequent failure was
32    pessimal. Something like (a){0,3} was compiled as (a)?(a)?(a)? instead of
33    ((a)((a)(a)?)?)? with disastrous performance if the maximum was of any size.
34    
35    
36    Version 2.03 02-Feb-99
37    ----------------------
38    
39    1. Fixed typo and small mistake in man page.
40    
41    2. Added 4th condition (GPL supersedes if conflict) and created separate
42    LICENCE file containing the conditions.
43    
44    3. Updated pcretest so that patterns such as /abc\/def/ work like they do in
45    Perl, that is the internal \ allows the delimiter to be included in the
46    pattern. Locked out the use of \ as a delimiter. If \ immediately follows
47    the final delimiter, add \ to the end of the pattern (to test the error).
48    
49    4. Added the convenience functions for extracting substrings after a successful
50    match. Updated pcretest to make it able to test these functions.
51    
52    
53    Version 2.02 14-Jan-99
54    ----------------------
55    
56    1. Initialized the working variables associated with each extraction so that
57    their saving and restoring doesn't refer to uninitialized store.
58    
59    2. Put dummy code into study.c in order to trick the optimizer of the IBM C
60    compiler for OS/2 into generating correct code. Apparently IBM isn't going to
61    fix the problem.
62    
63    3. Pcretest: the timing code wasn't using LOOPREPEAT for timing execution
64    calls, and wasn't printing the correct value for compiling calls. Increased the
65    default value of LOOPREPEAT, and the number of significant figures in the
66    times.
67    
68    4. Changed "/bin/rm" in the Makefile to "-rm" so it works on Windows NT.
69    
70    5. Renamed "deftables" as "dftables" to get it down to 8 characters, to avoid
71    a building problem on Windows NT with a FAT file system.
72    
73    
74    Version 2.01 21-Oct-98
75    ----------------------
76    
77    1. Changed the API for pcre_compile() to allow for the provision of a pointer
78    to character tables built by pcre_maketables() in the current locale. If NULL
79    is passed, the default tables are used.
80    
81    
82    Version 2.00 24-Sep-98
83    ----------------------
84    
85    1. Since the (>?) facility is in Perl 5.005, don't require PCRE_EXTRA to enable
86    it any more.
87    
88    2. Allow quantification of (?>) groups, and make it work correctly.
89    
90    3. The first character computation wasn't working for (?>) groups.
91    
92    4. Correct the implementation of \Z (it is permitted to match on the \n at the
93    end of the subject) and add 5.005's \z, which really does match only at the
94    very end of the subject.
95    
96    5. Remove the \X "cut" facility; Perl doesn't have it, and (?> is neater.
97    
98    6. Remove the ability to specify CASELESS, MULTILINE, DOTALL, and
99    DOLLAR_END_ONLY at runtime, to make it possible to implement the Perl 5.005
100    localized options. All options to pcre_study() were also removed.
101    
102    7. Add other new features from 5.005:
103    
104       $(?<=           positive lookbehind
105       $(?<!           negative lookbehind
106       (?imsx-imsx)    added the unsetting capability
107                       such a setting is global if at outer level; local otherwise
108       (?imsx-imsx:)   non-capturing groups with option setting
109       (?(cond)re|re)  conditional pattern matching
110    
111       A backreference to itself in a repeated group matches the previous
112       captured string.
113    
114    8. General tidying up of studying (both automatic and via "study")
115    consequential on the addition of new assertions.
116    
117    9. As in 5.005, unlimited repeated groups that could match an empty substring
118    are no longer faulted at compile time. Instead, the loop is forcibly broken at
119    runtime if any iteration does actually match an empty substring.
120    
121    10. Include the RunTest script in the distribution.
122    
123    11. Added tests from the Perl 5.005_02 distribution. This showed up a few
124    discrepancies, some of which were old and were also with respect to 5.004. They
125    have now been fixed.
126    
127    
128    Version 1.09 28-Apr-98
129    ----------------------
130    
131    1. A negated single character class followed by a quantifier with a minimum
132    value of one (e.g.  [^x]{1,6}  ) was not compiled correctly. This could lead to
133    program crashes, or just wrong answers. This did not apply to negated classes
134    containing more than one character, or to minima other than one.
135    
136    
137    Version 1.08 27-Mar-98
138    ----------------------
139    
140    1. Add PCRE_UNGREEDY to invert the greediness of quantifiers.
141    
142    2. Add (?U) and (?X) to set PCRE_UNGREEDY and PCRE_EXTRA respectively. The
143    latter must appear before anything that relies on it in the pattern.
144    
145    
146    Version 1.07 16-Feb-98
147    ----------------------
148    
149    1. A pattern such as /((a)*)*/ was not being diagnosed as in error (unlimited
150    repeat of a potentially empty string).
151    
152    
153  Version 1.06 23-Jan-98  Version 1.06 23-Jan-98
154  ----------------------  ----------------------
155    

Legend:
Removed from v.15  
changed lines
  Added in v.33

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12