summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--string.c2
-rw-r--r--test/ruby/test_string.rb3
2 files changed, 4 insertions, 1 deletions
diff --git a/string.c b/string.c
index 0ab2012c89..4e62f5971e 100644
--- a/string.c
+++ b/string.c
@@ -8426,7 +8426,7 @@ rb_str_enumerate_grapheme_clusters(VALUE str, VALUE ary)
static VALUE
rb_str_each_grapheme_cluster(VALUE str)
{
- RETURN_SIZED_ENUMERATOR(str, 0, 0, rb_str_each_char_size);
+ RETURN_ENUMERATOR(str, 0, 0);
return rb_str_enumerate_grapheme_clusters(str, 0);
}
diff --git a/test/ruby/test_string.rb b/test/ruby/test_string.rb
index f71dfc7fee..31b7abe31c 100644
--- a/test/ruby/test_string.rb
+++ b/test/ruby/test_string.rb
@@ -989,6 +989,9 @@ CODE
assert_equal ["a", "b", "c"], "abc".b.each_grapheme_cluster.to_a
s = ("x"+"\u{10ABCD}"*250000)
assert_empty(s.each_grapheme_cluster {s.clear})
+
+ assert_nil "\u{20 200d}".each_grapheme_cluster.size
+ assert_nil "\u{a 308}".each_grapheme_cluster.size
end
def test_grapheme_clusters