commit 34b39fc9cd81fbff0d52451a5c4570293817ca32 Author: Karl Williamson <public@khwilliamson.com> Date: Thu Aug 9 14:38:03 2012 -0600 regcomp.c: Set flags when optimizing a [char class] A bracketed character class containing a single Latin1-range chara +cter has long been optimized into an EXACT node. Also, flags are set t +o include SIMPLE. However, EXACT nodes containing code points that +are different when encoded under UTF-8 versus not UTF-8 should not be +marked simple. To fix this, the address of the flags parameter is now passed to regclass(), the function that parses bracketed character classes, +which now sets it appropriately. The unconditional setting of SIMPLE th +at was always done in the code after calling regclass() has been removed. In addition, the setting of the flags for EXACT nodes has been pus +hed into the common function that populates them. regclass() will also now increment the naughtiness count if optimi +zed to a node that normally does that. I do not understand this heuristi +c behavior very well, and could not come up with a test case for it; experimentation revealed that there are no test cases in our test +suite for which naughtiness makes any difference at all.
Dave.
In reply to Re: Matching behavior with (?^u)
by dave_the_m
in thread Matching behavior with (?^u)
by snoozeagain
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |