[ruby-core:88416] [Ruby trunk Feature#14975] String#append without changing receiver's encoding

From: samuel@...
Date: 2018-08-10 04:33:35 UTC
List: ruby-core #88416
SXNzdWUgIzE0OTc1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt
cykuCgoKVGhlIGxvZ2ljIHlvdSd2ZSBnaXZlbiBhYm92ZSBpcyB0b28gaWRlYWxpc3RpYyB1bmZv
cnR1bmF0ZWx5OgoKYGBgcnVieQpbMTFdIHByeShtYWluKT4geCA9ICJGb29iYXIiLmZyZWV6ZSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAo9PiAiRm9vYmFyIgpbMTJdIHByeShtYWluKT4geC5mb3JjZV9lbmNvZGluZyhFbmNvZGlu
Zzo6QklOQVJZKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IApGcm96ZW5FcnJvcjogY2FuJ3QgbW9kaWZ5IGZyb3plbiBTdHJpbmcKZnJvbSAocHJ5KToxMDpp
biBgZm9yY2VfZW5jb2RpbmcnCmBgYAoKVGhlIGJlc3QgeW91IGNhbiBob3BlIGZvciBpcyBzb21l
dGhpbmcgbGlrZSBodHRwczovL2dpdGh1Yi5jb20vc29ja2V0cnkvYXN5bmMtaW8vYmxvYi9tYXN0
ZXIvbGliL2FzeW5jL2lvL2J1ZmZlci5yYiNMMzItTDQwCgpgYGBydWJ5CmRlZiA8PCBzdHJpbmcK
CWlmIHN0cmluZy5lbmNvZGluZyA9PSBCSU5BUlkKCQlzdXBlcihzdHJpbmcpCgllbHNlCgkJc3Vw
ZXIoc3RyaW5nLmIpCgllbmQKCQoJcmV0dXJuIHNlbGYKZW5kCmBgYAoKSXQncyBldmVuIHBvc3Np
YmxlIHRoYXQgYHN0cmluZy5iYCBkb2Vzbid0IGFsbG9jYXRlIG1lbW9yeS4uLiBidXQgSSBkb24n
dCBhY3R1YWxseSBrbm93LgoKTWF5YmUgYSBiZXR0ZXIgb3B0aW9uIGlzIGZvcgoKYGBgCiMgRW5j
b2Rpbmc6OkNvbXBhdGliaWxpdHlFcnJvcjogaW5jb21wYXRpYmxlIGNoYXJhY3RlciBlbmNvZGlu
Z3M6IFVURi04IGFuZCBBU0NJSS04QklUCnUgPDwgYgpgYGAKCnRvIGNvbnZlcnQgdGhlIFJIUyB0
byB0aGUgTEhTIGVuY29kaW5nIC0gaWYgaXQgY2FuJ3QgdGhlbiBpdCBmYWlscy4gV0RZVD8KCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVyZSAjMTQ5NzU6IFN0
cmluZyNhcHBlbmQgd2l0aG91dCBjaGFuZ2luZyByZWNlaXZlcidzIGVuY29kaW5nCmh0dHBzOi8v
YnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xNDk3NSNjaGFuZ2UtNzM0NjgKCiogQXV0aG9yOiBp
b3F1YXRpeCAoU2FtdWVsIFdpbGxpYW1zKQoqIFN0YXR1czogT3BlbgoqIFByaW9yaXR5OiBOb3Jt
YWwKKiBBc3NpZ25lZTogCiogVGFyZ2V0IHZlcnNpb246IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCkknbSBub3Qgc3VyZSB3aGVyZSB0aGlzIGZpdHMgaW4sIGJ1dCBp
biBvcmRlciB0byBhdm9pZCBnYXJiYWdlIGFuZCBzdXBlcmZsdW91cyBmdW5jdGlvbiBjYWxscywg
aXMgaXQgcG9zc2libGUgdGhhdCBgU3RyaW5nIzw8YCwgYFN0cmluZyNjb25jYXRgIG9yIHRoZSAo
cHJvcG9zZWQpIGBTdHJpbmcjYXBwZW5kYCBjYW4gYXZvaWQgY2hhbmdpbmcgdGhlIGVuY29kaW5n
IG9mIHRoZSByZWNlaXZlcj8KClJpZ2h0IG5vdyBpdCdzIHZlcnkgdHJpY2t5IHRvIGRvIHRoaXMg
aW4gYSB3YXkgdGhhdCBkb2Vzbid0IHJlcXVpcmUgZXh0cmEgYWxsb2NhdGlvbnMuIEhlcmUgaXMg
d2hhdCBJIGRvOgoKYGBgcnVieQpjbGFzcyBCdWZmZXIgPCBTdHJpbmcKCUJJTkFSWSA9IEVuY29k
aW5nOjpCSU5BUlkKCQoJZGVmIGluaXRpYWxpemUKCQlzdXBlcgoJCQoJCWZvcmNlX2VuY29kaW5n
KEJJTkFSWSkKCWVuZAoJCglkZWYgPDwgc3RyaW5nCgkJaWYgc3RyaW5nLmVuY29kaW5nID09IEJJ
TkFSWQoJCQlzdXBlcihzdHJpbmcpCgkJZWxzZQoJCQlzdXBlcihzdHJpbmcuYikgIyBSZXF1aXJl
cyBleHRyYSBhbGxvY2F0aW9uLgoJCWVuZAoJCQoJCXJldHVybiBzZWxmCgllbmQKCQoJYWxpYXMg
Y29uY2F0IDw8CmVuZApgYGAKCldoZW4gdGhlIHJlY2VpdmVyIGlzIGJpbmFyeSwgYnV0IGNvbnRh
aW5zIGJ5dGUgc2VxdWVuY2VzLCBhcHBlbmRpbmcgVVRGXzggY2FuIGZhaWw6CgpgYGAKIkZvb2Jh
ciIuYiA8PCAiRsO4w7hiYXIiCj0+ICJGb29iYXJGw7jDuGJhciIKCj4gIkbDuMO4YmFyIi5iIDw8
ICJGw7jDuGJhciIKRW5jb2Rpbmc6OkNvbXBhdGliaWxpdHlFcnJvcjogaW5jb21wYXRpYmxlIGNo
YXJhY3RlciBlbmNvZGluZ3M6IEFTQ0lJLThCSVQgYW5kIFVURi04CmBgYAoKU28sIGl0J3Mgbm90
IHBvc3NpYmxlIHRvIGFwcGVuZCBkYXRhLCBnZW5lcmFsbHksIGFuZCB0aGVuIGNhbGwgYGZvcmNl
X2VuY29kaW5nKEVuY29kaW5nOjpCSU5BUlkpYC4gT25lIG11c3QgZW5zdXJlIHRoZSBzdHJpbmcg
aXMgYmluYXJ5IGJlZm9yZSBhcHBlbmRpbmcgaXQuCgpJdCB3b3VsZCBiZSBuaWNlIGlmIHRoZXJl
IHdhcyBhIHNvbHV0aW9uIHdoaWNoIGRpZG4ndCByZXF1aXJlIGFkZGl0aW9uYWwgYWxsb2NhdGlv
bnMvY29waWVzL2xpbmVhciBzY2FucyBmb3Igd2hhdCBzaG91bGQgYmFzaWNhbGx5IGJlIGEgYG1l
bWNweWAuCgpTZWUgYWxzbzogaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE0MDMz
IGFuZCBodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTM2MjYjbm90ZS0zCgpUaGVy
ZSBhcmUgdHdvIG9wdGlvbnMgdG8gZml4IHRoaXM6CgoxLyBEb24ndCBjaGFuZ2UgcmVjZWl2ZXIg
ZW5jb2RpbmcgaW4gYW55IGNhc2UuCjIvIEFwcGx5IDEsIGJ1dCBvbmx5IHdoZW4gcmVjZWl2ZXIg
aXMgdXNpbmcgYEVuY29kaW5nOjpCSU5BUllgCgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFu
Zy5vcmcvCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcu
b3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2kt
YmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==

In This Thread

Prev Next