#9618: pcre2-10.30
-------------------------+-----------------------
 Reporter:  bdubbs@…     |       Owner:  bdubbs@…
     Type:  enhancement  |      Status:  assigned
 Priority:  normal       |   Milestone:  8.1
Component:  BOOK         |     Version:  SVN
 Severity:  normal       |  Resolution:
 Keywords:               |
-------------------------+-----------------------

Comment (by bdubbs@…):

 Version 10.30 14-August-2017

  1. The main interpreter, pcre2_match(), has been refactored into a new
 version
     that does not use recursive function calls (and therefore the system
 stack) for
     remembering backtracking positions. This makes --disable-stack-for-
 recursion a
     NOOP. The new implementation allows backtracking into recursive group
 calls in
     patterns, making it more compatible with Perl, and also fixes some
 other
     previously hard-to-do issues. For patterns that have a lot of
 backtracking, the
     heap is now used, and there is explicit limit on the amount, settable
 by
     pcre2_set_heap_limit() or (*LIMIT_HEAP=xxx). The "recursion limit" is
 retained,
     but is renamed as "depth limit" (though the old names remain for
     compatibility).

     There is also a change in the way callouts from pcre2_match() are
 handled. The
     offset_vector field in the callout block is no longer a pointer to the
     actual ovector that was passed to the matching function in the match
 data
     block. Instead it points to an internal ovector of a size large enough
 to hold
     all possible captured substrings in the pattern.

  2. The new option PCRE2_ENDANCHORED insists that a pattern match must end
 at
     the end of the subject.

  3. The new option PCRE2_EXTENDED_MORE implements Perl's /xx feature, and
     pcre2test is upgraded to support it. Setting within the pattern by
 (?xx) is
     also supported.

  4. (?n) can be used to set PCRE2_NO_AUTO_CAPTURE, because Perl now has
 this.

  5. Additional compile options in the compile context are now available,
 and the
     first two are: PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES and
     PCRE2_EXTRA_BAD_ESCAPE_IS LITERAL.

  6. The newline type PCRE2_NEWLINE_NUL is now available.

  7. The match limit value now also applies to pcre2_dfa_match() as there
 are
     patterns that can use up a lot of resources without necessarily
 recursing very
     deeply.

  8. The option REG_PEND (a GNU extension) is now available for the POSIX
     wrapper. Also there is a new option PCRE2_LITERAL which is used to
 support
     REG_NOSPEC.

  9. PCRE2_EXTRA_MATCH_LINE and PCRE2_EXTRA_MATCH_WORD are implemented for
 the
     benefit of pcre2grep, and pcre2grep's -F, -w, and -x options are re-
 implemented
     using PCRE2_LITERAL, PCRE2_EXTRA_MATCH_WORD, and
 PCRE2_EXTRA_MATCH_LINE. This
     is tidier and also fixes some bugs.

  10. The Unicode tables are upgraded from Unicode 8.0.0 to Unicode 10.0.0.

  11. There are some experimental functions for converting foreign patterns
 (globs and POSIX patterns) into PCRE2 patterns.

--
Ticket URL: <http://wiki.linuxfromscratch.org/blfs/ticket/9618#comment:3>
BLFS Trac <http://wiki.linuxfromscratch.org/blfs>
Beyond Linux From Scratch
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-book
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to