[Bug #20512] Set coderange in `Range#each` of strings

This commit is contained in:
Nobuyoshi Nakada 2024-05-28 16:59:51 +09:00
Родитель 0a92c9f2b0
Коммит 7d144781a9
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 3582D74E1FEE4465
1 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -5156,7 +5156,9 @@ rb_str_upto_each(VALUE beg, VALUE end, int excl, int (*each)(VALUE, VALUE), VALU
if (c > e || (excl && c == e)) return beg;
for (;;) {
if ((*each)(rb_enc_str_new(&c, 1, enc), arg)) break;
VALUE str = rb_enc_str_new(&c, 1, enc);
ENC_CODERANGE_SET(str, RUBY_ENC_CODERANGE_7BIT);
if ((*each)(str, arg)) break;
if (!excl && c == e) break;
c++;
if (excl && c == e) break;