ViewVC logotype

Diff of /code/trunk/ChangeLog

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

revision 630 by ph10, Fri Jul 22 10:00:10 2011 UTC revision 644 by ph10, Sat Jul 30 17:13:00 2011 UTC
# Line 165  Version 8.13 30-Apr-2011 Line 165  Version 8.13 30-Apr-2011
166  31. A *MARK encountered during the processing of a positive assertion is now  31. A *MARK encountered during the processing of a positive assertion is now
167      recorded and passed back (compatible with Perl).      recorded and passed back (compatible with Perl).
169    32. If --only-matching or --colour was set on a pcregrep call whose pattern
170        had alternative anchored branches, the search for a second match in a line
171        was done as if at the line start. Thus, for example, /^01|^02/ incorrectly
172        matched the line "0102" twice. The same bug affected patterns that started
173        with a backwards assertion. For example /\b01|\b02/ also matched "0102"
174        twice.
176    33. Previously, PCRE did not allow quantification of assertions. However, Perl
177        does, and because of capturing effects, quantifying parenthesized
178        assertions may at times be useful. Quantifiers are now allowed for
179        parenthesized assertions.
181    34. A minor code tidy in pcre_compile() when checking options for \R usage.
183    35. \g was being checked for fancy things in a character class, when it should
184        just be a literal "g".
186    36. PCRE was rejecting [:a[:digit:]] whereas Perl was not. It seems that the
187        appearance of a nested POSIX class supersedes an apparent external class.
188        For example, [:a[:digit:]b:] matches "a", "b", ":", or a digit. Also,
189        unescaped square brackets may also appear as part of class names. For
190        example, [:a[:abc]b:] gives unknown class "[:abc]b:]". PCRE now behaves
191        more like Perl.
193    37. PCRE was giving an error for \N with a braced quantifier such as {1,} (this
194        was because it thought it was \N{name}, which is not supported).
196    38. Add minix to OS list not supporting the -S option in pcretest.
198    39. PCRE tries to detect cases of infinite recursion at compile time, but it
199        cannot analyze patterns in sufficient detail to catch mutual recursions
200        such as ((?1))((?2)). There is now a runtime test that gives an error if a
201        subgroup is called recursively as a subpattern for a second time at the
202        same position in the subject string. In previous releases this might have
203        been caught by the recursion limit, or it might have run out of stack.
205    40. A pattern such as /(?(R)a+|(?R)b)/ is quite safe, as the recursion can
206        happen only once. PCRE was, however incorrectly giving a compile time error
207        "recursive call could loop indefinitely" because it cannot analyze the
208        pattern in sufficient detail. The compile time test no longer happens when
209        PCRE is compiling a conditional subpattern, but actual runaway loops are
210        now caught at runtime (see 39 above).
212    41. It seems that Perl allows any characters other than a closing parenthesis
213        to be part of the NAME in (*MARK:NAME) and other backtracking verbs. PCRE
214        has been changed to be the same.
216    42. Updated configure.ac to put in more quoting round AC_LANG_PROGRAM etc. so
217        as not to get warnings when autogen.sh is called. Also changed
218        AC_PROG_LIBTOOL (deprecated) to LT_INIT (the current macro).
220    43. To help people who use pcregrep to scan files containing exceedingly long
221        lines, the following changes have been made:
223        (a) The default value of the buffer size parameter has been increased from
224            8K to 20K. (A buffer three times this size is actually used.)
226        (b) The default can be changed by ./configure --with-pcregrep-bufsiz when
227            PCRE is built.
229        (c) A --buffer-size=n option has been added to pcregrep, to allow the size
230            to be set at run time.
232        (d) Numerical values in pcregrep options can be followed by K or M, for
233            example --buffer-size=50K.
235        (e) If a line being scanned overflows pcregrep's buffer, an error is now
236            given and the return code is set to 2.
239  Version 8.12 15-Jan-2011  Version 8.12 15-Jan-2011

Removed from v.630  
changed lines
  Added in v.644

  ViewVC Help
Powered by ViewVC 1.1.5