Skip to content

Commit 478282b

Browse files
committed
[GR-40333] Updating Unicode and Emoji version to 13
PullRequest: truffleruby/3692
2 parents ccfde36 + a10922f commit 478282b

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
@@ -97,6 +97,7 @@ Compatibility:
9797
* Add `Thread::Backtrace.limit` method (#2733, @andrykonchin).
9898
* Deprecate `rb_gc_force_recycle` and make it a no-op function (#2733, @moste00).
9999
* Add `Refinement#import_methods` method and add deprecation warning for `Refinement#include` and `Refinement#prepend` (#2733, @horakivo).
100+
* Upgrading `UNICODE` version to 13.0.0 and `EMOJI` version to 13.1 (#2733, @horakivo).
100101

101102
Performance:
102103

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)