Skip to content
GitLab
Explore
Sign in
Register
Commits on Source (6)
update grapheme clusters and switch to new jcodings
· 9e1a7462
Marcin Mielzynski
authored
Mar 05, 2019
9e1a7462
fix typo
· 2828ac09
Marcin Mielzynski
authored
Mar 06, 2019
2828ac09
update jcodings to 1.0.43
· be801ddc
Marcin Mielzynski
authored
Mar 06, 2019
be801ddc
add tests and fix [ruby-core:83743] [Bug #14101]
· 6e0b6d93
Marcin Mielzynski
authored
Mar 06, 2019
6e0b6d93
[maven-release-plugin] prepare release joni-2.1.26
· 82219854
Marcin Mielzynski
authored
Mar 06, 2019
82219854
[maven-release-plugin] prepare for next development iteration
· 182164fb
Marcin Mielzynski
authored
Mar 06, 2019
182164fb
Expand all
Show whitespace changes
Inline
Side-by-side
pom.xml
View file @
182164fb
...
...
@@ -4,7 +4,7 @@
<groupId>
org.jruby.joni
</groupId>
<artifactId>
joni
</artifactId>
<packaging>
jar
</packaging>
<version>
2.1.2
6
-SNAPSHOT
</version>
<version>
2.1.2
7
-SNAPSHOT
</version>
<name>
Joni
</name>
<description>
Java port of Oniguruma: http://www.geocities.jp/kosako3/oniguruma
...
...
@@ -66,7 +66,7 @@
<dependency>
<groupId>
org.jruby.jcodings
</groupId>
<artifactId>
jcodings
</artifactId>
<version>
1.0.4
1
</version>
<version>
1.0.4
3
</version>
</dependency>
<dependency>
<groupId>
junit
</groupId>
...
...
src/org/joni/ByteCodeMachine.java
View file @
182164fb
...
...
@@ -1320,6 +1320,7 @@ class ByteCodeMachine extends StackMachine {
private
void
opMemoryStart
()
{
int
mem
=
code
[
ip
++];
repeatStk
[
memStartStk
+
mem
]
=
s
;
repeatStk
[
memEndStk
+
mem
]
=
-
1
;
}
private
void
opMemoryEndPush
()
{
...
...
src/org/joni/Parser.java
View file @
182164fb
This diff is collapsed.
Click to expand it.
src/org/joni/ast/StringNode.java
View file @
182164fb
...
...
@@ -33,7 +33,7 @@ public final class StringNode extends Node implements StringType {
public
int
end
;
public
int
flag
;
p
rivate
StringNode
(
int
size
)
{
p
ublic
StringNode
(
int
size
)
{
super
(
STR
);
this
.
bytes
=
new
byte
[
size
];
}
...
...
test/org/joni/test/TestError.java
View file @
182164fb
...
...
@@ -71,6 +71,7 @@ public class TestError extends Test {
xerrs
(
"a{5,1}"
,
ErrorMessages
.
UPPER_SMALLER_THAN_LOWER_IN_REPEAT_RANGE
);
xerrs
(
"[\\6000"
,
ErrorMessages
.
TOO_BIG_NUMBER
);
// CVE-2017-9226
xerrs
(
"[\\H- ]"
,
ErrorMessages
.
UNMATCHED_RANGE_SPECIFIER_IN_CHAR_CLASS
);
// CVE-2017-9228
xerrs
(
"[a-\\d]"
,
ErrorMessages
.
CHAR_CLASS_VALUE_AT_END_OF_RANGE
);
xerrs
(
"(?:ab|cd)*\\1"
,
ErrorMessages
.
INVALID_BACKREF
);
xerrs
(
"(ab|cd)*\\1"
,
ErrorMessages
.
INVALID_BACKREF
,
Option
.
DONT_CAPTURE_GROUP
);
...
...
@@ -85,6 +86,7 @@ public class TestError extends Test {
xerrs
(
"\\k<1/>"
,
ErrorMessages
.
INVALID_GROUP_NAME
.
replace
(
"%n"
,
"1/"
));
// xerrs("\\k<1-1/>", ErrorMessages.ERR_INVALID_GROUP_NAME.replace("%n", "1-1/>"));
// xerrs("\\k<a/>", ErrorMessages.ERR_INVALID_CHAR_IN_GROUP_NAME.replace("%n", "a/"));
// xerrs("\\g<1>", ErrorMessages.UNDEFINED_GROUP_REFERENCE);
xerrs
(
"*"
,
ErrorMessages
.
TARGET_OF_REPEAT_OPERATOR_NOT_SPECIFIED
);
xerrs
(
"{1}"
,
ErrorMessages
.
TARGET_OF_REPEAT_OPERATOR_NOT_SPECIFIED
);
...
...
@@ -95,5 +97,7 @@ public class TestError extends Test {
xerrs
(
"()(?(2))"
,
ErrorMessages
.
INVALID_BACKREF
);
xerrs
(
"(?(700000))"
,
ErrorMessages
.
INVALID_BACKREF
);
xerrs
(
"(?<!a(?:bb|c))"
,
ErrorMessages
.
INVALID_LOOK_BEHIND_PATTERN
);
}
}
test/org/joni/test/TestU8.java
View file @
182164fb
...
...
@@ -320,6 +320,7 @@ public class TestU8 extends Test {
x2s
(
"(?~abc|def)x"
,
"abcx"
,
1
,
4
);
x2s
(
"(?~abc|def)x"
,
"defx"
,
1
,
4
);
x2s
(
"^(?~\\S+)TEST"
,
"TEST"
,
0
,
4
);
x3s
(
"(?~(a)c)"
,
"aab"
,
-
1
,
-
1
,
1
);
// # $1 should not match.
x2s
(
"𠜎𠜱"
,
"𠜎𠜱"
,
0
,
8
);
x2s
(
"𠜎?𠜱"
,
"𠜎𠜱"
,
0
,
8
);
...
...