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

Diff of /code/trunk/ChangeLog

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

revision 340 by ph10, Fri Apr 18 20:00:21 2008 UTC revision 342 by ph10, Sun Apr 20 17:10:13 2008 UTC
# Line 58  Version 7.7 05-Mar-08 Line 58  Version 7.7 05-Mar-08
58      pattern, with a new opcode that causes them to be skipped at execution      pattern, with a new opcode that causes them to be skipped at execution
59      time.      time.
60    
61  13. Added the PCRE_JAVASCRIPT_COMPAT option. This currently does two things:  13. Added the PCRE_JAVASCRIPT_COMPAT option. This makes the following changes
62        to the way PCRE behaves:
63    
64      (a) A lone ] character is dis-allowed (Perl treats it as data).      (a) A lone ] character is dis-allowed (Perl treats it as data).
65    
66      (b) A back reference to an unmatched subpattern matches an empty string      (b) A back reference to an unmatched subpattern matches an empty string
67          (Perl fails the current match path).          (Perl fails the current match path).
68    
69        (c) A data ] in a character class must be notated as \] because if the
70            first data character in a class is ], it defines an empty class. (In
71            Perl it is not possible to have an empty class.) The empty class []
72            never matches; it forces failure and is equivalent to (*FAIL) or (?!).
73            The negative empty class [^] matches any one character, independently
74            of the DOTALL setting.
75    
76  14. A pattern such as /(?2)[]a()b](abc)/ which had a forward reference to a  14. A pattern such as /(?2)[]a()b](abc)/ which had a forward reference to a
77      non-existent subpattern following a character class starting with ']' and      non-existent subpattern following a character class starting with ']' and
78      containing () gave an internal compiling error instead of "reference to      containing () gave an internal compiling error instead of "reference to
# Line 71  Version 7.7 05-Mar-08 Line 81  Version 7.7 05-Mar-08
81      existencd of the subpattern, it was treating the data ']' as terminating      existencd of the subpattern, it was treating the data ']' as terminating
82      the class, so got the count wrong. When actually compiling, the reference      the class, so got the count wrong. When actually compiling, the reference
83      was subsequently set up correctly.)      was subsequently set up correctly.)
84    
85    15. The "always fail" assertion (?!) is optimzed to (*FAIL) by pcre_compile;
86        it was being rejected as not supported by pcre_dfa_exec(), even though
87        other assertions are supported. I have made pcre_dfa_exec() support
88        (*FAIL).
89    
90    16. The implementation of 13c above involved the invention of a new opcode,
91        OP_ALLANY, which is like OP_ANY but doesn't check the /s flag. Since /s
92        cannot be changed at match time, I realized I could make a small
93        improvement to matching performance by compiling OP_ALLANY instead of
94        OP_ANY for "." when DOTALL was set, and then removing the runtime tests
95        on the OP_ANY path.
96    
97    
98  Version 7.6 28-Jan-08  Version 7.6 28-Jan-08

Legend:
Removed from v.340  
changed lines
  Added in v.342

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12