[ruby-core:96775] [Ruby master Bug#16497] StringIO#internal_encoding is broken (more severely in 2.7)
[email protected] Sat, 11 Jan 2020 03:16:25 +0000 (UTC)
| Newsgroups | gmane.comp.lang.ruby.core |
|---|---|
| Message-ID | <redmine.journal-83769.20200111031624.38c66df10ce19bcf@ruby-lang.org> |
SXNzdWUgIzE2NDk3IGhhcyBiZWVuIHVwZGF0ZWQgYnkganJvY2hraW5kIChqb25hdGhhbiByb2No a2luZCkuDQoNCg0KTm90ZSB0aGUgU3RyaW5nSU8gaXMgX25vdF8gdHJhbnNjb2RpbmcuIGl0IGlz IHNpbXBseSBjaGFuZ2luZyB0aGUgZW5jb2RpbmcgInRhZ2dpbmciIG9mIHRoZSBTdHJpbmcgd2l0 aG91dCBjaGFuZ2luZyBhbnkgYnl0ZXMuIA0KDQpJZiB0aGUgc3RyaW5nIHdhcyBBU0NJSS04QklU IChpZSBCSU5BUlkpLCB0aGVyZSBpcyByZWFsbHkgKm5vIHdheSogdG8gdHJhbnNjb2RlLiBCdXQg aGVyZSdzIGFuIGV4YW1wbGUgd2hlcmUgaXQgKmNvdWxkKiBoYXZlIHRyYW5zY29kZWQsIGJ1dCBk aWQgbm90IC0tIGl0IG9ubHkgY2hhbmdlZCB0aGUgYGVuY29kaW5nYCB0YWcsIG1ha2luZyB0aGUg cmVzdWx0IGludmFsaWQuIA0KDQogICAgc3RyID0gIsOpIi5lbmNvZGUoIldJTkRPV1MtMTI1MiIp DQogICAgIz0+ICJceEU5IiAjIHRoYXQgaXMgYW4gw6kgaW4gV0lORE9XUy0xMjUyLCBubyBwcm9i bGVtDQogICAgc2lvID0gU3RyaW5nSU8ubmV3KHN0cikgDQogICAgcmVhZF9zdHJpbmcgPSBzaW8u cmVhZA0KICAgIHJlYWRfc3RyaW5nLmVuY29kaW5nICMgPT4gIzxFbmNvZGluZzpVVEYtOD4NCiAg ICByZWFkX3N0cmluZy52YWxpZF9lbmNvZGluZz8gIyA9PiBmYWxzZQ0KICAgIHJlYWRfc3RyaW5n ICMgPT4gIlx4RTkiDQoNClRoZSBjdXJyZW50IGJlaGF2aW9yIGNhbid0IHBvc3NpYmx5IGJlIGNv cnJlY3QuIA0KDQpCdXQgSSBiZWxpZXZlIHRoYXQgdGhlIHJ1YnkgMi42LnggYmVoYXZpb3Igd2Fz IGFjdHVhbGx5IGNvcnJlY3QvZGVzaXJhYmxlL21vc3QgdXNlZnVsLCBhbmQgc2hvdWxkIGJlIHJl dHVybmVkLiBJZiBhIFN0cmluZ0lPIG11c3Qgc3VwcG9ydCBzb21lIGtpbmQgb2YgdHJhbnNjb2Rp bmcgYmVoYXZpb3IsIGl0IHNob3VsZCBub3QgYmUgaXQncyAqZGVmYXVsdCogYmVoYXZpb3IsIGJ5 IGRlZmF1bHQgaXQgc2hvdWxkIGRvIHdoYXQgaXQgZGlkIGluIDIuNi4wIC0tIGllLCBkZWZhdWx0 IHRvIHRoZSBlbmNvZGluZyBhbHJlYWR5IHNldCBvbiB0aGUgc3RyaW5nIHBhc3NlZCBpbiBhcyBh cmd1bWVudCB0byBTdHJpbmdJTyBpbml0aWFsaXplci4gDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCkJ1ZyAjMTY0OTc6IFN0cmluZ0lPI2ludGVybmFsX2VuY29k aW5nIGlzIGJyb2tlbiAobW9yZSBzZXZlcmVseSBpbiAyLjcpDQpodHRwczovL2J1Z3MucnVieS1s YW5nLm9yZy9pc3N1ZXMvMTY0OTcjY2hhbmdlLTgzNzY5DQoNCiogQXV0aG9yOiB6dmVyb2sgKFZp Y3RvciBTaGVwZWxldikNCiogU3RhdHVzOiBBc3NpZ25lZA0KKiBQcmlvcml0eTogTm9ybWFsDQoq IEFzc2lnbmVlOiBub2J1IChOb2J1eW9zaGkgTmFrYWRhKQ0KKiBUYXJnZXQgdmVyc2lvbjogDQoq IHJ1YnkgLXY6IA0KKiBCYWNrcG9ydDogMi41OiBET05UTkVFRCwgMi42OiBET05UTkVFRCwgMi43 OiBSRVFVSVJFRA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KVG8g dGhlIGJlc3Qgb2YgbXkgdW5kZXJzdGFuZGluZyBmcm9tIFtFbmNvZGluZ10oaHR0cHM6Ly9kb2Nz LnJ1YnktbGFuZy5vcmcvZW4vbWFzdGVyL0VuY29kaW5nLmh0bWwpIGRvY3MsIHRoZSBmb2xsb3dp bmcgaXMgdHJ1ZToNCg0KKiBleHRlcm5hbCBlbmNvZGluZyAoZXhwbGljaXRseSBzcGVjaWZpZWQg b3IgdGFrZW4gZnJvbSBgRW5jb2RpbmcuZGVmYXVsdF9leHRlcm5hbGApIHNwZWNpZmllcyBob3cg dGhlIElPIHVuZGVyc3RhbmRzIGlucHV0IGFuZCBzdG9yZXMgaXQgaW50ZXJuYWxseQ0KKiBpbnRl cm5hbCBlbmNvZGluZyAoZXhwbGljaXRseSBzcGVjaWZpZWQgb3IgdGFrZW4gZnJvbSBgRW5jb2Rp bmcuZGVmYXVsdF9pbnRlcm5hbGApIHNwZWNpZmllcyBob3cgdGhlIElPIGNvbnZlcnRzIHdoYXQg aXQgcmVhZHMuDQoNCkRlbW9uc3RyYXRpb24gd2l0aCByZWd1bGFyIGZpbGVzOg0KDQpgYGBydWJ5 DQojIHByZXBhcmUgZGF0YQ0KRmlsZS53cml0ZSgndGVzdC50eHQnLCAn0KPQutGA0LDRl9C90LAn LmVuY29kZSgnS09JOC1VJyksIGVuY29kaW5nOiAnS09JOC1VJykgIz0+IDcNCg0KZGVmIHRlc3Qo aW8pDQogIHN0ciA9IGlvLnJlYWQNCiAgW2lvLmV4dGVybmFsX2VuY29kaW5nLCBpby5pbnRlcm5h bF9lbmNvZGluZywgc3RyLCBzdHIuZW5jb2RpbmddDQplbmQNCg0KIyByZWFkIGl0Og0KdGVzdChG aWxlLm9wZW4oJ3Rlc3QudHh0JywgJ3I6S09JOC1VJykpDQojID0+IFsjPEVuY29kaW5nOktPSTgt VT4sIG5pbCwgIlx4RjVceENCXHhEMlx4QzFceEE3XHhDRVx4QzEiLCAjPEVuY29kaW5nOktPSTgt VT5dDQoNCiMgV2UgY2FuIHNwZWNpZnkgaW50ZXJuYWwgZW5jb2Rpbmcgd2hlbiBvcGVuaW5nIHRo ZSBmaWxlOg0KdGVzdChGaWxlLm9wZW4oJ3Rlc3QudHh0JywgJ3I6S09JOC1VOlVURi04JykpDQoj ID0+IFsjPEVuY29kaW5nOktPSTgtVT4sICM8RW5jb2Rpbmc6VVRGLTg+LCAi0KPQutGA0LDRl9C9 0LAiLCAjPEVuY29kaW5nOlVURi04Pl0NCg0KIyAuLi5vciB3aGVuIGl0IGlzIGFscmVhZHkgb3Bl bmVkDQp0ZXN0KEZpbGUub3BlbigndGVzdC50eHQnKS50YXAgeyB8ZnwgZi5zZXRfZW5jb2Rpbmco J0tPSTgtVScsICdVVEYtOCcpIH0pDQojID0+IFsjPEVuY29kaW5nOktPSTgtVT4sICM8RW5jb2Rp bmc6VVRGLTg+LCAi0KPQutGA0LDRl9C90LAiLCAjPEVuY29kaW5nOlVURi04Pl0NCg0KIyAuLi5v ciB3aXRoIEVuY29kaW5nLmRlZmF1bHRfaW50ZXJuYWwNCkVuY29kaW5nLmRlZmF1bHRfaW50ZXJu YWwgPSAnVVRGLTgnDQp0ZXN0KEZpbGUub3BlbigndGVzdC50eHQnLCAncjpLT0k4LVUnKSkNCiMg PT4gWyM8RW5jb2Rpbmc6S09JOC1VPiwgIzxFbmNvZGluZzpVVEYtOD4sICLQo9C60YDQsNGX0L3Q sCIsICM8RW5jb2Rpbmc6VVRGLTg+XQ0KYGBgDQoNCkJ1dCB3aXRoIFN0cmluZ0lPLCAqKmludGVy bmFsIGVuY29kaW5nIGNhbid0IGJlIHNldCoqIGluIFJ1YnkgKioyLjYqKjoNCg0KYGBgcnVieQ0K cmVxdWlyZSAnc3RyaW5naW8nDQpFbmNvZGluZy5kZWZhdWx0X2ludGVybmFsID0gbmlsDQpzdHIg PSAn0KPQutGA0LDRl9C90LAnLmVuY29kZSgnS09JOC1VJykNCg0KIyBTaW1wbGVzdCBmb3JtOg0K dGVzdChTdHJpbmdJTy5uZXcoc3RyKSkNCiMgPT4gWyM8RW5jb2Rpbmc6S09JOC1VPiwgbmlsLCAi XHhGNVx4Q0JceEQyXHhDMVx4QTdceENFXHhDMSIsICM8RW5jb2Rpbmc6S09JOC1VPl0NCg0KIyBU cnkgdG8gc2V0IHZpYSBtb2RlDQp0ZXN0KFN0cmluZ0lPLm5ldyhzdHIsICdyOktPSTgtVTpVVEYt OCcpKQ0KIyA9PiBbIzxFbmNvZGluZzpLT0k4LVU+LCBuaWwsICJceEY1XHhDQlx4RDJceEMxXHhB N1x4Q0VceEMxIiwgIzxFbmNvZGluZzpLT0k4LVU+XQ0KDQojIFRyeSB0byBzZXQgdmlhIHNldF9l bmNvZGluZzoNCnRlc3QoU3RyaW5nSU8ubmV3KHN0ciwgJ3I6S09JOC1VOlVURi04JykudGFwIHsg fGZ8IGYuc2V0X2VuY29kaW5nKCdLT0k4LVUnLCAnVVRGLTgnKSB9KQ0KIyA9PiBbIzxFbmNvZGlu ZzpLT0k4LVU+LCBuaWwsICJceEY1XHhDQlx4RDJceEMxXHhBN1x4Q0VceEMxIiwgIzxFbmNvZGlu ZzpLT0k4LVU+XQ0KDQojIFRyeSB0byBzZXQgdmlhIEVub2RpbmcuZGVmYXVsdF9pbnRlcm5hbDoN CkVuY29kaW5nLmRlZmF1bHRfaW50ZXJuYWwgPSAnVVRGLTgnDQp0ZXN0KFN0cmluZ0lPLm5ldyhz dHIpKQ0KIyA9PiBbIzxFbmNvZGluZzpLT0k4LVU+LCBuaWwsICJceEY1XHhDQlx4RDJceEMxXHhB N1x4Q0VceEMxIiwgIzxFbmNvZGluZzpLT0k4LVU+XQ0KYGBgDQoNClNvLCBpbiAyLjYsIGFueSBh dHRlbXB0IHRvIGRvIHNvbWV0aGluZyB3aXRoIFN0cmluZ0lPJ3MgaW50ZXJuYWwgZW5jb2Rpbmcg YXJlICoqanVzdCBpZ25vcmVkKiouDQoNCkluICoqMi43KiosIHRob3VnaCwgbWF0dGVycyBiZWNh bWUgbXVjaCB3b3JzZToNCmBgYHJ1YnkNCnJlcXVpcmUgJ3N0cmluZ2lvJw0KRW5jb2RpbmcuZGVm YXVsdF9pbnRlcm5hbCA9IG5pbA0Kc3RyID0gJ9Cj0LrRgNCw0ZfQvdCwJy5lbmNvZGUoJ0tPSTgt VScpDQoNCiMgQmVoYXZlcyBzYW1lIGFzIDIuNg0KdGVzdChTdHJpbmdJTy5uZXcoc3RyKSkNCiMg PT4gWyM8RW5jb2Rpbmc6S09JOC1VPiwgbmlsLCAiXHhGNVx4Q0JceEQyXHhDMVx4QTdceENFXHhD MSIsICM8RW5jb2Rpbmc6S09JOC1VPl0NCg0KIyBUcnkgdG8gc2V0IHZpYSBtb2RlOiBXRUlSRCBi ZWhhdmlvciBzdGFydHMNCnRlc3QoU3RyaW5nSU8ubmV3KHN0ciwgJ3I6S09JOC1VOlVURi04Jykp DQojID0+IFsjPEVuY29kaW5nOlVURi04PiwgbmlsLCAiXHhGNVx4Q0JceEQyXHhDMVx4QTdceENF XHhDMSIsICM8RW5jb2Rpbmc6VVRGLTg+XQ0KDQojIFRyeSB0byBzZXQgdmlhIHNldF9lbmNvZGlu Zzogc3RpbGwganVzdCBpZ25vcmVkDQp0ZXN0KFN0cmluZ0lPLm5ldyhzdHIsICdyOktPSTgtVTpV VEYtOCcpLnRhcCB7IHxmfCBmLnNldF9lbmNvZGluZygnS09JOC1VJywgJ1VURi04JykgfSkNCiMg PT4gWyM8RW5jb2Rpbmc6S09JOC1VPiwgbmlsLCAiXHhGNVx4Q0JceEQyXHhDMVx4QTdceENFXHhD MSIsICM8RW5jb2Rpbmc6S09JOC1VPl0NCg0KIyBUcnkgdG8gc2V0IHZpYSBFbm9kaW5nLmRlZmF1 bHRfaW50ZXJuYWw6IFdFSVJEIGJlaGF2aW9yIGFnYWluDQpFbmNvZGluZy5kZWZhdWx0X2ludGVy bmFsID0gJ1VURi04Jw0KdGVzdChTdHJpbmdJTy5uZXcoc3RyKSkNCiMgPT4gWyM8RW5jb2Rpbmc6 VVRGLTg+LCBuaWwsICJceEY1XHhDQlx4RDJceEMxXHhBN1x4Q0VceEMxIiwgIzxFbmNvZGluZzpV VEYtOD5dDQpgYGANCg0KU28sICoqMi43Kiogbm90IGp1c3QgaWdub3JlcyBhdHRlbXB0cyB0byBz ZXQgKippbnRlcm5hbCoqIGVuY29kaW5nLCBidXQgZXJyb25lb3VzbHkgc2V0cyBpdCB0byAqKmV4 dGVybmFsKiogb25lLCBzbyBzdHJpbmdzIGFyZSBub3QgcmVjb2RlZCwgYnV0IHRoZWlyIGVuY29k aW5nIGlzIGZvcmNlZCB0byBjaGFuZ2UuDQoNCkkgYmVsaWV2ZSBpdCBpcyBzZXZlcmUgYnVnICht b3JlIHNldmVyZSB0aGFuIDIuNidzICJqdXN0IGlnbm9yaW5nIikuDQoNCltUaGlzIFJlZGRpdCB0 aHJlYWRdKGh0dHBzOi8vd3d3LnJlZGRpdC5jb20vci9ydWJ5L2NvbW1lbnRzL2VtZDZxNC9pc190 aGlzX2Ffc3RyaW5naW9fYnVnX2luX3J1YnlfMjcwLykgc2hvd3MgaG93IGl0IGJyZWFrcyBleGlz dGluZyBjb2RlOg0KDQoqIHRoZSBhdXRob3IgdXNlcyBgU3RyaW5nSU9gIHRvIHdvcmsgd2l0aCBg QVNDSUktOEJJVGAgc3RyaW5nczsNCiogdGhlIGNvZGUgaXMgcGVyZm9ybWVkIGluIFJhaWxzIGVu dmlyb25tZW50ICh3aGljaCBzZXRzIGBpbnRlcm5hbF9lbmNvZGluZ2AgdG8gYFVURi04YCBieSBk ZWZhdWx0KTsNCiogdW5kZXIgKioyLjcqKiwgYFN0cmluZ0lPI3JlYWRgIHJldHVybnMgYEFTQ0lJ LThCSVRgIGNvbnRlbnQgaW4gU3RyaW5ncyBzYXlpbmcgdGhlaXIgZW5jb2RpbmcgaXMgYFVURi04 YC4NCg0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8NCgpVbnN1YnNjcmli ZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJz Y3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9u cy9ydWJ5LWNvcmU+Cg==