зеркало из https://github.com/github/ruby.git
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
This commit is contained in:
Родитель
ca319081ce
Коммит
60375cd6ba
11
parse.y
11
parse.y
|
@ -10642,14 +10642,9 @@ next_id(VALUE str)
|
||||||
new_id:
|
new_id:
|
||||||
if (symenc != enc) rb_enc_associate(str, symenc);
|
if (symenc != enc) rb_enc_associate(str, symenc);
|
||||||
if ((nid = next_id_base()) == (ID)-1) {
|
if ((nid = next_id_base()) == (ID)-1) {
|
||||||
if (len > 20) {
|
str = rb_str_ellipsize(str, 20);
|
||||||
rb_raise(rb_eRuntimeError, "symbol table overflow (symbol %.20s...)",
|
rb_raise(rb_eRuntimeError, "symbol table overflow (symbol %"PRIsVALUE")",
|
||||||
name);
|
str);
|
||||||
}
|
|
||||||
else {
|
|
||||||
rb_raise(rb_eRuntimeError, "symbol table overflow (symbol %.*s)",
|
|
||||||
(int)len, name);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
id |= nid;
|
id |= nid;
|
||||||
id |= ID_STATIC_SYM;
|
id |= ID_STATIC_SYM;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче