From 60375cd6ba034de80012726f50c7c43c3a8a3b68 Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 30 Apr 2014 12:09:35 +0000 Subject: [PATCH] parse.y: use rb_str_ellipsize * parse.y (next_id): use rb_str_ellipsize to preserve encoding and get rid of incomplete multibyte sequence. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- parse.y | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/parse.y b/parse.y index b0f84e1540..a6a3905a9f 100644 --- a/parse.y +++ b/parse.y @@ -10642,14 +10642,9 @@ next_id(VALUE str) new_id: if (symenc != enc) rb_enc_associate(str, symenc); if ((nid = next_id_base()) == (ID)-1) { - if (len > 20) { - rb_raise(rb_eRuntimeError, "symbol table overflow (symbol %.20s...)", - name); - } - else { - rb_raise(rb_eRuntimeError, "symbol table overflow (symbol %.*s)", - (int)len, name); - } + str = rb_str_ellipsize(str, 20); + rb_raise(rb_eRuntimeError, "symbol table overflow (symbol %"PRIsVALUE")", + str); } id |= nid; id |= ID_STATIC_SYM;