summaryrefslogtreecommitdiff
path: root/lib/feature
Commit message (Collapse)AuthorAgeFilesLines
* feature/unicode_strings.t: Generalize to work on non-ASCII platformsKarl Williamson2015-03-051-2/+2
|
* Use already existing functions in some .t filesKarl Williamson2014-05-311-21/+21
| | | | | | | | | | | I invented 2 functions for use in .t files a while back that turn out to be duplicates of (undocumented) functions that already existed suitable for general use. This commit changes to use those general functions and removes the copies from t/test.pl. (I plan to document these functions later in 5.21.). This is in preparation for moving some similar functions from t/test.pl to a newly created test tools file, as it turns out that these functions are useful in .t files that don't use t/test.pl, but instead, e.g., Test::More.
* Experimentally add VT to \s definitionKarl Williamson2012-05-221-0/+1
| | | | | | | | | | | | | | This commit is the minimal necessary to get \s to match the vertical tab. It is being done early in the 5.17 series in order to see what repercussions there might be from doing this. It may well be that we decide that this change will require a 'use feature' to activate. In any event there is significant documentation of the behavior without the VT that this patch does not address at all. Tom Christiansen asked Larry Wall why \s did not include VT, and reported that Larry replied that he did not remember, but had no objections to adding it.
* unicode_strings.t: Revise tests for EBCDIC, clarityKarl Williamson2010-12-111-48/+58
| | | | This patch addresses some of Hugo's concerns.
* Subject: [perl #58182] partial: Add uni \s,\w matchingKarl Williamson2010-10-151-2/+122
| | | | | | | | | | | | | | | | | | | This commit causes regex sequences \b, \s, and \w (and complements) to match in the latin1 range in the scope of feature 'unicode_strings' or with the /u regex modifier. It uses the previously unused flags field in the respective regnodes to indicate the type of matching, and in regexec.c, uses that to decide which of the handy.h macros to use, native or Latin1. I chose this for now rather than create new nodes for each type of match. An earlier version of this patch did that, and in every case the switch case: statements were adjacent, offering no performance advantage. If regexec were modified to use in-line functions or more macros for various short section of it, then it would be faster to have new nodes rather than using the flags field. But, using that field simplified things, as this change flies under the radar in a number of places where it would not if separate nodes were used.
* Subject: unicode_strings.t: Imprv test outputKarl Williamson2010-10-151-9/+9
| | | | This improves the phrasing of the output of the tests
* Subject: unicode_strings.t: rmv trail blanksKarl Williamson2010-10-151-2/+2
|
* Introduce C<use feature "unicode_strings">Rafael Garcia-Suarez2009-12-201-0/+142
This turns on the unicode semantics for uc/lc/ucfirst/lcfirst operations on strings without the UTF8 bit set but with ASCII characters higher than 127. This replaces the "legacy" pragma experiment. Note that currently this feature sets both a bit in $^H and a (unused) key in %^H. The bit in $^H could be replaced by a flag on the uc/lc/etc op. It's probably not feasible to test a key in %^H in pp_uc in friends each time we want to know which semantics to apply.