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

From: samuel@...
Date: 2018-08-27 10:54:13 UTC
List: ruby-core #88684
SXNzdWUgIzE0OTc1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt
cykuCgoKPiBJcyB0aGVyZSBhIHVzZS1jYXNlIGZvciB1c2luZyB0aGlzIG5ldyBtZXRob2Qgd2l0
aCBub24tYmluYXJ5IHN0cmluZ3M/CgpZZXMsIHByZWRpY3RhYmx5IGFwcGVuZGluZyBzdHJpbmdz
IHdpdGhvdXQgY2hhbmdpbmcgcmVjZWl2ZXIgZW5jb2RpbmcuIElmIEkgbWFrZSBhIGJ1ZmZlciB3
aXRoIGEgc3BlY2lmaWMgZW5jb2RpbmcsIEknZCBwcmVmZXIgbm90IHRvIGhhdmUgaXQgY2hhbmdl
IGVuY29kaW5nIHdpdGhvdXQgbWUgcmVhbGlzaW5nIGl0LgoKPiBJZiBub3QsIGl0IG1pZ2h0IGJl
IGJldHRlciB0byBoYXZlIHRoZSBtZXRob2QgcmFpc2Ugb24gbm9uLWJpbmFyeSByZWNlaXZlcnMu
CgpBcyBsb25nIGFzIHJlY2VpdmVyIGFuZCBhcmd1bWVudCBhcmUgc2FtZSBlbmNvZGluZywgaXQn
cyBhY2NlcHRhYmxlIHRvIGFwcGVuZCB0aGVtLgoKTXkgY3VycmVudCBmZWVsaW5nIGlzIHRoYXQg
aWYgd2UgYWRkIGEgbmV3IGAjYXBwZW5kYCBtZXRob2QsIGl0IHNob3VsZCBiZSB2ZXJ5IHN0cmlj
dCwgYXMgaXMgY3VycmVudGx5IGltcGxlbWVudGVkLiBCeSBiZWluZyBzdHJpY3QsIGl0IGNhbiBi
ZSBtb3JlIGVmZmljaWVudGx5IGltcGxlbWVudGVkLCBhbmQgaGF2ZSBtb3JlIHByZWRpY3RhYmxl
IGJlaGF2aW91ci4KCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpG
ZWF0dXJlICMxNDk3NTogU3RyaW5nI2FwcGVuZCB3aXRob3V0IGNoYW5naW5nIHJlY2VpdmVyJ3Mg
ZW5jb2RpbmcKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE0OTc1I2NoYW5nZS03
Mzc0MgoKKiBBdXRob3I6IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlhbXMpCiogU3RhdHVzOiBPcGVu
CiogUHJpb3JpdHk6IE5vcm1hbAoqIEFzc2lnbmVlOiAKKiBUYXJnZXQgdmVyc2lvbjogCi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KSSdtIG5vdCBzdXJlIHdoZXJlIHRo
aXMgZml0cyBpbiwgYnV0IGluIG9yZGVyIHRvIGF2b2lkIGdhcmJhZ2UgYW5kIHN1cGVyZmx1b3Vz
IGZ1bmN0aW9uIGNhbGxzLCBpcyBpdCBwb3NzaWJsZSB0aGF0IGBTdHJpbmcjPDxgLCBgU3RyaW5n
I2NvbmNhdGAgb3IgdGhlIChwcm9wb3NlZCkgYFN0cmluZyNhcHBlbmRgIGNhbiBhdm9pZCBjaGFu
Z2luZyB0aGUgZW5jb2Rpbmcgb2YgdGhlIHJlY2VpdmVyPwoKUmlnaHQgbm93IGl0J3MgdmVyeSB0
cmlja3kgdG8gZG8gdGhpcyBpbiBhIHdheSB0aGF0IGRvZXNuJ3QgcmVxdWlyZSBleHRyYSBhbGxv
Y2F0aW9ucy4gSGVyZSBpcyB3aGF0IEkgZG86CgpgYGBydWJ5CmNsYXNzIEJ1ZmZlciA8IFN0cmlu
ZwoJQklOQVJZID0gRW5jb2Rpbmc6OkJJTkFSWQoJCglkZWYgaW5pdGlhbGl6ZQoJCXN1cGVyCgkJ
CgkJZm9yY2VfZW5jb2RpbmcoQklOQVJZKQoJZW5kCgkKCWRlZiA8PCBzdHJpbmcKCQlpZiBzdHJp
bmcuZW5jb2RpbmcgPT0gQklOQVJZCgkJCXN1cGVyKHN0cmluZykKCQllbHNlCgkJCXN1cGVyKHN0
cmluZy5iKSAjIFJlcXVpcmVzIGV4dHJhIGFsbG9jYXRpb24uCgkJZW5kCgkJCgkJcmV0dXJuIHNl
bGYKCWVuZAoJCglhbGlhcyBjb25jYXQgPDwKZW5kCmBgYAoKV2hlbiB0aGUgcmVjZWl2ZXIgaXMg
YmluYXJ5LCBidXQgY29udGFpbnMgYnl0ZSBzZXF1ZW5jZXMsIGFwcGVuZGluZyBVVEZfOCBjYW4g
ZmFpbDoKCmBgYAoiRm9vYmFyIi5iIDw8ICJGw7jDuGJhciIKPT4gIkZvb2JhckbDuMO4YmFyIgoK
PiAiRsO4w7hiYXIiLmIgPDwgIkbDuMO4YmFyIgpFbmNvZGluZzo6Q29tcGF0aWJpbGl0eUVycm9y
OiBpbmNvbXBhdGlibGUgY2hhcmFjdGVyIGVuY29kaW5nczogQVNDSUktOEJJVCBhbmQgVVRGLTgK
YGBgCgpTbywgaXQncyBub3QgcG9zc2libGUgdG8gYXBwZW5kIGRhdGEsIGdlbmVyYWxseSwgYW5k
IHRoZW4gY2FsbCBgZm9yY2VfZW5jb2RpbmcoRW5jb2Rpbmc6OkJJTkFSWSlgLiBPbmUgbXVzdCBl
bnN1cmUgdGhlIHN0cmluZyBpcyBiaW5hcnkgYmVmb3JlIGFwcGVuZGluZyBpdC4KCkl0IHdvdWxk
IGJlIG5pY2UgaWYgdGhlcmUgd2FzIGEgc29sdXRpb24gd2hpY2ggZGlkbid0IHJlcXVpcmUgYWRk
aXRpb25hbCBhbGxvY2F0aW9ucy9jb3BpZXMvbGluZWFyIHNjYW5zIGZvciB3aGF0IHNob3VsZCBi
YXNpY2FsbHkgYmUgYSBgbWVtY3B5YC4KClNlZSBhbHNvOiBodHRwczovL2J1Z3MucnVieS1sYW5n
Lm9yZy9pc3N1ZXMvMTQwMzMgYW5kIGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8x
MzYyNiNub3RlLTMKClRoZXJlIGFyZSB0d28gb3B0aW9ucyB0byBmaXggdGhpczoKCjEvIERvbid0
IGNoYW5nZSByZWNlaXZlciBlbmNvZGluZyBpbiBhbnkgY2FzZS4KMi8gQXBwbHkgMSwgYnV0IG9u
bHkgd2hlbiByZWNlaXZlciBpcyB1c2luZyBgRW5jb2Rpbmc6OkJJTkFSWWAKCgoKCi0tIApodHRw
czovL2J1Z3MucnVieS1sYW5nLm9yZy8KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1y
ZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5y
dWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K

In This Thread

Prev Next