]> gitweb.factorcode.org Git - factor.git/commitdiff
Fixing bug in regexp \P
authorDaniel Ehrenberg <littledan@Macintosh-122.local>
Tue, 23 Mar 2010 04:30:49 +0000 (00:30 -0400)
committerDaniel Ehrenberg <littledan@Macintosh-122.local>
Tue, 23 Mar 2010 04:30:49 +0000 (00:30 -0400)
basis/regexp/parser/parser.factor
basis/regexp/regexp-tests.factor

index 0025b89d56d8119912f5bad662d22a6c75396b5c..a038351cb0cf6bb167f14c57fa0c831a0fe9491a 100644 (file)
@@ -133,7 +133,7 @@ CharacterInBracket = !("}") Character
 QuotedCharacter = !("\\E") .
 
 Escape = "p{" CharacterInBracket*:s "}" => [[ s name>class <primitive-class> ]]
-       | "P{" CharacterInBracket*:s "}" => [[ s name>class <primitive-class> <negation> ]]
+       | "P{" CharacterInBracket*:s "}" => [[ s name>class <primitive-class> <not-class> ]]
        | "Q" QuotedCharacter*:s "\\E" => [[ s <concatenation> ]]
        | "u" Character:a Character:b Character:c Character:d
             => [[ { a b c d } hex> ensure-number ]]
index 1f72fa04bad26ff9ef8900920eb6f2f5414fb739..2488f568dacb004a214d3fcb2764255c6b58d88a 100644 (file)
@@ -530,3 +530,8 @@ IN: regexp-tests
 [ f ] [ "π" R/ [\p{script=latin}--\p{lower}]/ matches? ] unit-test
 [ t ] [ "A" R/ [\p{script=latin}--\p{lower}]/ matches? ] unit-test
 [ f ] [ "3" R/ [\p{script=latin}--\p{lower}]/ matches? ] unit-test
+
+[ t ] [ " " R/ \P{alpha}/ matches? ] unit-test
+[ f ] [ "" R/ \P{alpha}/ matches? ] unit-test
+[ f ] [ "a " R/ \P{alpha}/ matches? ] unit-test
+[ f ] [ "a" R/ \P{alpha}/ matches? ] unit-test