diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-10-16 09:11:12 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-10-16 09:11:12 +0000 |
commit | 569fe2922fe12c25f59a21171dad0e8553f17384 (patch) | |
tree | 033bf20f247ad3a3918dca02cd9263c91fe83d20 /string.c | |
parent | 774fd169adaec18efd2f2929e01413219ad5c0fb (diff) | |
download | ruby-569fe2922fe12c25f59a21171dad0e8553f17384.tar.gz |
string.c: grapheme cluster regexp failure
* string.c (get_reg_grapheme_cluster): show error info and relax
to rb_fatal from rb_bug.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
-rw-r--r-- | string.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -8428,10 +8428,13 @@ get_reg_grapheme_cluster(rb_encoding *enc) } if (!reg_grapheme_cluster) { const OnigUChar source[] = "\\X"; + OnigErrorInfo einfo; int r = onig_new(®_grapheme_cluster, source, source + sizeof(source) - 1, - ONIG_OPTION_DEFAULT, enc, OnigDefaultSyntax, NULL); + ONIG_OPTION_DEFAULT, enc, OnigDefaultSyntax, &einfo); if (r) { - rb_bug("cannot compile grapheme cluster regexp"); + UChar message[ONIG_MAX_ERROR_MESSAGE_LEN]; + onig_error_code_to_str(message, r, &einfo); + rb_fatal("cannot compile grapheme cluster regexp: %s", (char *)message); } if (encidx == rb_utf8_encindex()) { reg_grapheme_cluster_utf8 = reg_grapheme_cluster; |