[jruby-joni] 185/279: Add OP2_UNICODE_WHITESPACE syntax option
Hideki Yamane
henrich at moszumanska.debian.org
Mon Nov 16 11:27:29 UTC 2015
This is an automated email from the git hooks/post-receive script.
henrich pushed a commit to branch debian/sid
in repository jruby-joni.
commit 4c4e187ae80d128c9466a0c03d82142a4c197628
Author: Ben Browning <bbrownin at redhat.com>
Date: Thu Sep 12 21:34:53 2013 -0400
Add OP2_UNICODE_WHITESPACE syntax option
This options treats the Unicode whitespace characters \u2028 and
\u2029 as whitespace instead of just the ascii whitespace characters.
---
src/org/joni/Syntax.java | 6 +++++-
src/org/joni/ast/CClassNode.java | 6 +++++-
src/org/joni/constants/SyntaxProperties.java | 1 +
3 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/org/joni/Syntax.java b/src/org/joni/Syntax.java
index a6a729c..4a3a315 100644
--- a/src/org/joni/Syntax.java
+++ b/src/org/joni/Syntax.java
@@ -282,6 +282,10 @@ public final class Syntax implements SyntaxProperties{
return isOp2(OP2_ESC_IDENTITY);
}
+ public boolean op2UnicodeWhitespace() {
+ return isOp2(OP2_UNICODE_WHITESPACE);
+ }
+
/**
* BEHAVIOR
*
@@ -629,7 +633,7 @@ public final class Syntax implements SyntaxProperties{
OP2_ESC_P_BRACE_CHAR_PROPERTY |
OP2_ESC_P_BRACE_CIRCUMFLEX_NOT |
OP2_ESC_U_HEX4 | OP2_ESC_V_VTAB |
- OP2_ESC_IDENTITY ),
+ OP2_ESC_IDENTITY | OP2_UNICODE_WHITESPACE ),
( CONTEXT_INDEP_ANCHORS |
CONTEXT_INDEP_REPEAT_OPS |
diff --git a/src/org/joni/ast/CClassNode.java b/src/org/joni/ast/CClassNode.java
index 7927023..f3a9306 100644
--- a/src/org/joni/ast/CClassNode.java
+++ b/src/org/joni/ast/CClassNode.java
@@ -335,8 +335,12 @@ public final class CClassNode extends Node {
if (Config.NON_UNICODE_SDW) {
switch(ctype) {
- case CharacterType.D:
case CharacterType.S:
+ if (!not && env.syntax.op2UnicodeWhitespace()) {
+ // treat \u2028 and \u2029 as whitespace
+ addCodeRange(env, 8232, 8233);
+ }
+ case CharacterType.D:
case CharacterType.W:
ctype ^= CharacterType.SPECIAL_MASK;
if (not) {
diff --git a/src/org/joni/constants/SyntaxProperties.java b/src/org/joni/constants/SyntaxProperties.java
index 9e783d0..9c8f031 100644
--- a/src/org/joni/constants/SyntaxProperties.java
+++ b/src/org/joni/constants/SyntaxProperties.java
@@ -75,6 +75,7 @@ public interface SyntaxProperties {
final int OP2_ESC_H_XDIGIT = (1<<19); /* \h, \H */
final int OP2_INEFFECTIVE_ESCAPE = (1<<20); /* \ */
final int OP2_ESC_IDENTITY = (1<<21); /* \a, \b, \c */
+ final int OP2_UNICODE_WHITESPACE = (1<<22); /* \s matches \u2028 */
/* syntax (behavior); */
final int CONTEXT_INDEP_ANCHORS = (1<<31); /* not implemented */
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jruby-joni.git
More information about the pkg-java-commits
mailing list