Skip to content

Commit

Permalink
Fix Emacs syntax to include [:digit:], etc.
Browse files Browse the repository at this point in the history
  • Loading branch information
dcatteeu committed Apr 4, 2015
1 parent 58c8d1f commit af1fd88
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 19 deletions.
36 changes: 18 additions & 18 deletions framework/core/oniguruma/regsyntax.c
Expand Up @@ -84,24 +84,24 @@ OnigSyntaxType OnigSyntaxPosixExtended = {
};

OnigSyntaxType OnigSyntaxEmacs = {
( ONIG_SYN_OP_DOT_ANYCHAR | ONIG_SYN_OP_BRACKET_CC |
ONIG_SYN_OP_ESC_BRACE_INTERVAL |
ONIG_SYN_OP_ESC_LPAREN_SUBEXP | ONIG_SYN_OP_ESC_VBAR_ALT |
ONIG_SYN_OP_ASTERISK_ZERO_INF | ONIG_SYN_OP_PLUS_ONE_INF |
ONIG_SYN_OP_QMARK_ZERO_ONE | ONIG_SYN_OP_DECIMAL_BACKREF |
ONIG_SYN_OP_LINE_ANCHOR | ONIG_SYN_OP_ESC_CONTROL_CHARS )
, ONIG_SYN_OP2_ESC_GNU_BUF_ANCHOR
, ONIG_SYN_ALLOW_EMPTY_RANGE_IN_CC
, ONIG_OPTION_NONE
,
{
(OnigCodePoint )'\\' /* esc */
, (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar '.' */
, (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anytime '*' */
, (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* zero or one time '?' */
, (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* one or more time '+' */
, (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar anytime */
}
( ONIG_SYN_OP_DOT_ANYCHAR | ONIG_SYN_OP_BRACKET_CC |
ONIG_SYN_OP_POSIX_BRACKET | ONIG_SYN_OP_ESC_BRACE_INTERVAL |
ONIG_SYN_OP_ESC_LPAREN_SUBEXP | ONIG_SYN_OP_ESC_VBAR_ALT |
ONIG_SYN_OP_ASTERISK_ZERO_INF | ONIG_SYN_OP_PLUS_ONE_INF |
ONIG_SYN_OP_QMARK_ZERO_ONE | ONIG_SYN_OP_DECIMAL_BACKREF |
ONIG_SYN_OP_LINE_ANCHOR | ONIG_SYN_OP_ESC_CONTROL_CHARS )
, ONIG_SYN_OP2_ESC_GNU_BUF_ANCHOR
, ONIG_SYN_ALLOW_EMPTY_RANGE_IN_CC
, ONIG_OPTION_NONE
,
{
(OnigCodePoint )'\\' /* esc */
, (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar '.' */
, (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anytime '*' */
, (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* zero or one time '?' */
, (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* one or more time '+' */
, (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar anytime */
}
};

OnigSyntaxType OnigSyntaxGrep = {
Expand Down
7 changes: 6 additions & 1 deletion framework/tests/OnigRegexpTest.m
Expand Up @@ -196,12 +196,17 @@ - (void)testSyntax
OnigResult* r = [e search:@" 012xyz abc789[a-z]+"];
XCTAssert(NSEqualRanges([r bodyRange], NSMakeRange(14,6)));
XCTAssertEqualObjects([r body], @"[a-z]+");

e = [OnigRegexp compile:@"[a-z]+" options:ONIG_OPTION_DEFAULT syntax:ONIG_SYNTAX_EMACS error:&error];
r = [e search:@" 012xyz abc789[a-z]+"];
XCTAssert(NSEqualRanges([r bodyRange], NSMakeRange(4,3)));
XCTAssertEqualObjects([r body], @"xyz");

e = [OnigRegexp compile:@"[[:digit:]]+" options:ONIG_OPTION_DEFAULT syntax:ONIG_SYNTAX_EMACS error:&error];
r = [e search:@" 012xyz abc789[a-z]+"];
XCTAssert(NSEqualRanges([r bodyRange], NSMakeRange(1,3)));
XCTAssertEqualObjects([r body], @"012");

e = [OnigRegexp compile:@"[a-z]+" options:ONIG_OPTION_DEFAULT syntax:ONIG_SYNTAX_JAVA error:&error];
r = [e search:@" 012xyz abc789[a-z]+"];
XCTAssert(NSEqualRanges([r bodyRange], NSMakeRange(4,3)));
Expand Down

0 comments on commit af1fd88

Please sign in to comment.