Skip to content

Commit a10922f

Browse files
committed
updating unicode and emoji version to 13
1 parent 59ecd36 commit a10922f

File tree

6 files changed

+23
-9
lines changed

6 files changed

+23
-9
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ Compatibility:
9292
* Add `Process._fork` (#2733, @horakivo).
9393
* Update to JCodings 1.0.58 and Joni 2.1.44 (@eregon).
9494
* Add `MatchData#match` and `MatchData#match_length` (#2733, @horakivo).
95+
* Upgrading `UNICODE` version to 13.0.0 and `EMOJI` version to 13.1 (#2733, @horakivo).
9596

9697
Performance:
9798

lib/cext/ABI_version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3
1+
4

lib/truffle/rbconfig.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# truffleruby_primitives: true
12
# frozen-string-literal: false
23
#
34
# Copyright (c) 2014, 2023 Oracle and/or its affiliates. All rights reserved. This
@@ -196,8 +197,8 @@ module RbConfig
196197
'target_cpu' => host_cpu,
197198
'target_os' => host_os,
198199
'toolchain_path' => toolchain_path,
199-
'UNICODE_VERSION' => '12.0.0',
200-
'UNICODE_EMOJI_VERSION' => '12.1',
200+
'UNICODE_VERSION' => Primitive.encoding_unicode_version,
201+
'UNICODE_EMOJI_VERSION' => Primitive.encoding_unicode_emoji_version,
201202
'warnflags' => warnflags,
202203
'WERRORFLAG' => '-Werror',
203204
}

spec/tags/library/rbconfig/unicode_emoji_version_tags.txt

Lines changed: 0 additions & 2 deletions
This file was deleted.

spec/tags/library/rbconfig/unicode_version_tags.txt

Lines changed: 0 additions & 4 deletions
This file was deleted.

src/main/java/org/truffleruby/core/encoding/EncodingNodes.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import com.oracle.truffle.api.dsl.NeverDefault;
1717
import com.oracle.truffle.api.strings.AbstractTruffleString;
1818
import com.oracle.truffle.api.strings.TruffleString;
19+
import org.jcodings.Config;
1920
import org.jcodings.EncodingDB;
2021
import org.truffleruby.annotations.CoreMethod;
2122
import org.truffleruby.builtins.CoreMethodArrayArgumentsNode;
@@ -863,4 +864,21 @@ private void raiseException(Object first, Object second) {
863864

864865
}
865866

867+
@Primitive(name = "encoding_unicode_version")
868+
public abstract static class UnicodeVersionNode extends PrimitiveArrayArgumentsNode {
869+
@Specialization
870+
protected RubyString getUnicodeVersion(
871+
@Cached TruffleString.FromJavaStringNode fromJavaStringNode) {
872+
return createString(fromJavaStringNode, Config.UNICODE_VERSION_STRING, Encodings.UTF_8);
873+
}
874+
}
875+
876+
@Primitive(name = "encoding_unicode_emoji_version")
877+
public abstract static class UnicodeEmojiVersionNode extends PrimitiveArrayArgumentsNode {
878+
@Specialization
879+
protected RubyString getUnicodeEmojiVersion(
880+
@Cached TruffleString.FromJavaStringNode fromJavaStringNode) {
881+
return createString(fromJavaStringNode, Config.UNICODE_EMOJI_VERSION_STRING, Encodings.UTF_8);
882+
}
883+
}
866884
}

0 commit comments

Comments
 (0)