[ruby-core:96800] [Ruby master Bug#16497] StringIO#internal_encoding is broken (more severely in 2.7)
[email protected] Sun, 12 Jan 2020 12:36:12 +0000 (UTC)
| Newsgroups | gmane.comp.lang.ruby.core |
|---|---|
| Message-ID | <redmine.journal-83795.20200112123611.161ba8ea417583fa@ruby-lang.org> |
SXNzdWUgIzE2NDk3IGhhcyBiZWVuIHVwZGF0ZWQgYnkgenZlcm9rIChWaWN0b3IgU2hlcGVsZXYp Lg0KDQoNCkEgYml0IG1vcmUgZGlzY3Vzc2lvbiBvbiBmaXhpbmcgdGhlIGJlaGF2aW9yLCBhZnRl ciBkaXNjdXNzaW5nIG9uIFJlZGRpdC4gDQpCYXNpY2FsbHksIGl0IGlzIHR3byB3YXlzIHRvIGZp eCBpdDoNCg0KMS4gSnVzdCByZXR1cm4gdG8gMi42IGJlaGF2aW9yDQoyLiBGdWxseSBpbXBsZW1l bnQgYGludGVybmFsX2VuY29kaW5nYCBmb3IgU3RyaW5nSU8NCg0KSSBiZWxpZXZlICoqMiAobWFr ZSBpdCB1c2UgYGludGVybmFsX2VuY29kaW5nYCkgaXMgbW9yZSB1c2VmdWwqKi4gT25lIGV4YW1w bGUgd2hlcmUgY3VycmVudCBiZWhhdmlvciBpcyBub3QgZW5vdWdoIGlzIHN1YnN0aXR1dGluZyBg U3RyaW5nSU9gIChmb3IgZXhhbXBsZSwgaW4gdGVzdHMpIGluIGNvZGUgd2hlcmUgYEZpbGVgIGlz IHVzdWFsbHkgdXNlZC4gRm9yIGV4YW1wbGUsIEh1bnNwZWxsJ3Mgc3BlbGxjaGVja2VyIGRhdGEg ZmlsZXMgdXNlIGBTRVQgPGVuY29kaW5nPmAgdGFnIGFzIHRoZWlyIGZpcnN0IGxpbmUuIFNvLCB0 aGUgY29kZSByZWFkaW5nIHRoaXMgZmlsZSwgY291bGQgbG9vayB0aGlzIHdheToNCg0KYGBgcnVi eQ0KZGVmIHJlYWRfYWZmKGlvKQ0KICBlbmNvZGluZyA9IHJlYWRfZW5jb2RpbmcoaW8pDQogIGlv LnNldF9lbmNvZGluZyhlbmNvZGluZywgJ1VURi04JykgIyByZWFkIGluIHdoYXRldmVyIGVuY29k aW5nIGl0IGhhcywgcmVjb2RlIHRvIGludGVybmFsIGVuY29kaW5nIG9mIHRoZSBzb2Z0d2FyZQ0K ICAjIG5vdywgSSBhc3N1bWUNCiAgaW8ucmVhZF9saW5lDQogICMgd2lsbCBiZSBlcXVpdmFsZW50 IHRvDQogIDxyZWFkX2J5dGVzX2Zyb21faW8+LmZvcmNlX2VuY29kaW5nKGVuY29kaW5nKS5lbmNv ZGUoJ1VURi04JykNCiAgIyAuLi53aGljaCBpcyB0cnVlIGZvciBGaWxlIGFuZCBmYWxzZSBmb3Ig U3RyaW5nSU8NCmVuZA0KYGBgDQoNCkhvd2V2ZXIsICoqb3B0aW9uIDEgKGp1c3QgbWFrZSBpdCBi ZWhhdmUgbGlrZSAyLjYpKiogaXMgbW9yZSAqKmJhY2t3YXJkLWNvbXBhdGlibGUqKi4gT3RoZXJ3 aXNlIChmdWxsIGZpeCkgdGhpcyBzaW1wbGUgY29kZSB3aWxsIGNoYW5nZSBiZWhhdmlvciB1bmRl ciBSYWlscyAod2hpY2ggc2V0IGBkZWZhdWx0X2ludGVybmFsYCB0byBgVVRGLThgKToNCg0KYGBg cnVieQ0Kc3RyID0gJ2ZvbycuZm9yY2VfZW5jb2RpbmcoJ1dpbmRvd3MtMTI1MScpDQppbyA9IFN0 cmluZ0lPLm5ldyhzdHIpDQppby5yZWFkDQpgYGANCkluIDIuNiBpdCByZXR1cm5zIHN0cmluZyBp biBgV2luZG93cy0xMjUxYCBlbmNvZGluZywgYW5kIHNvbWUgY29kZSBtYXkgcmVseSBvbiBpdC4g SWYgd2UnbGwgbWFrZSBTdHJpbmdJTyByZXNwZWN0IGBkZWZhdWx0X2ludGVybmFsYCwgaXQgd2ls bCBzdGFydCB0byByZXR1cm4gcmVjb2RlZCB0byBVVEYtOCBzdHJpbmcuDQoNClNvLCBtYXliZSB0 aGlzIHJlcG9ydCBzaG91bGQgYmUgKipzcGxpdCBpbnRvIHR3bzoqKg0KDQoxLiBBdCBsZWFzdCBm aXggdGhlIGJ1ZyAoYnkgcmV0dXJuaW5nIHRvIHRoZSBwcmV2aW91cyBiZWhhdmlvcikgaW4gMi43 LjENCjIuIE1ha2UgYFN0cmluZ0lPYCByZXNwZWN0IGludGVybmFsX2VuY29kaW5nIGluIDIuOC8z LjANCg0KV0RZVD8NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K QnVnICMxNjQ5NzogU3RyaW5nSU8jaW50ZXJuYWxfZW5jb2RpbmcgaXMgYnJva2VuIChtb3JlIHNl dmVyZWx5IGluIDIuNykNCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xNjQ5NyNj aGFuZ2UtODM3OTUNCg0KKiBBdXRob3I6IHp2ZXJvayAoVmljdG9yIFNoZXBlbGV2KQ0KKiBTdGF0 dXM6IEFzc2lnbmVkDQoqIFByaW9yaXR5OiBOb3JtYWwNCiogQXNzaWduZWU6IG5vYnUgKE5vYnV5 b3NoaSBOYWthZGEpDQoqIFRhcmdldCB2ZXJzaW9uOiANCiogcnVieSAtdjogDQoqIEJhY2twb3J0 OiAyLjU6IERPTlRORUVELCAyLjY6IERPTlRORUVELCAyLjc6IFJFUVVJUkVEDQotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpUbyB0aGUgYmVzdCBvZiBteSB1bmRlcnN0 YW5kaW5nIGZyb20gW0VuY29kaW5nXShodHRwczovL2RvY3MucnVieS1sYW5nLm9yZy9lbi9tYXN0 ZXIvRW5jb2RpbmcuaHRtbCkgZG9jcywgdGhlIGZvbGxvd2luZyBpcyB0cnVlOg0KDQoqIGV4dGVy bmFsIGVuY29kaW5nIChleHBsaWNpdGx5IHNwZWNpZmllZCBvciB0YWtlbiBmcm9tIGBFbmNvZGlu Zy5kZWZhdWx0X2V4dGVybmFsYCkgc3BlY2lmaWVzIGhvdyB0aGUgSU8gdW5kZXJzdGFuZHMgaW5w dXQgYW5kIHN0b3JlcyBpdCBpbnRlcm5hbGx5DQoqIGludGVybmFsIGVuY29kaW5nIChleHBsaWNp dGx5IHNwZWNpZmllZCBvciB0YWtlbiBmcm9tIGBFbmNvZGluZy5kZWZhdWx0X2ludGVybmFsYCkg c3BlY2lmaWVzIGhvdyB0aGUgSU8gY29udmVydHMgd2hhdCBpdCByZWFkcy4NCg0KRGVtb25zdHJh dGlvbiB3aXRoIHJlZ3VsYXIgZmlsZXM6DQoNCmBgYHJ1YnkNCiMgcHJlcGFyZSBkYXRhDQpGaWxl LndyaXRlKCd0ZXN0LnR4dCcsICfQo9C60YDQsNGX0L3QsCcuZW5jb2RlKCdLT0k4LVUnKSwgZW5j b2Rpbmc6ICdLT0k4LVUnKSAjPT4gNw0KDQpkZWYgdGVzdChpbykNCiAgc3RyID0gaW8ucmVhZA0K ICBbaW8uZXh0ZXJuYWxfZW5jb2RpbmcsIGlvLmludGVybmFsX2VuY29kaW5nLCBzdHIsIHN0ci5l bmNvZGluZ10NCmVuZA0KDQojIHJlYWQgaXQ6DQp0ZXN0KEZpbGUub3BlbigndGVzdC50eHQnLCAn cjpLT0k4LVUnKSkNCiMgPT4gWyM8RW5jb2Rpbmc6S09JOC1VPiwgbmlsLCAiXHhGNVx4Q0JceEQy XHhDMVx4QTdceENFXHhDMSIsICM8RW5jb2Rpbmc6S09JOC1VPl0NCg0KIyBXZSBjYW4gc3BlY2lm eSBpbnRlcm5hbCBlbmNvZGluZyB3aGVuIG9wZW5pbmcgdGhlIGZpbGU6DQp0ZXN0KEZpbGUub3Bl bigndGVzdC50eHQnLCAncjpLT0k4LVU6VVRGLTgnKSkNCiMgPT4gWyM8RW5jb2Rpbmc6S09JOC1V PiwgIzxFbmNvZGluZzpVVEYtOD4sICLQo9C60YDQsNGX0L3QsCIsICM8RW5jb2Rpbmc6VVRGLTg+ XQ0KDQojIC4uLm9yIHdoZW4gaXQgaXMgYWxyZWFkeSBvcGVuZWQNCnRlc3QoRmlsZS5vcGVuKCd0 ZXN0LnR4dCcpLnRhcCB7IHxmfCBmLnNldF9lbmNvZGluZygnS09JOC1VJywgJ1VURi04JykgfSkN CiMgPT4gWyM8RW5jb2Rpbmc6S09JOC1VPiwgIzxFbmNvZGluZzpVVEYtOD4sICLQo9C60YDQsNGX 0L3QsCIsICM8RW5jb2Rpbmc6VVRGLTg+XQ0KDQojIC4uLm9yIHdpdGggRW5jb2RpbmcuZGVmYXVs dF9pbnRlcm5hbA0KRW5jb2RpbmcuZGVmYXVsdF9pbnRlcm5hbCA9ICdVVEYtOCcNCnRlc3QoRmls ZS5vcGVuKCd0ZXN0LnR4dCcsICdyOktPSTgtVScpKQ0KIyA9PiBbIzxFbmNvZGluZzpLT0k4LVU+ LCAjPEVuY29kaW5nOlVURi04PiwgItCj0LrRgNCw0ZfQvdCwIiwgIzxFbmNvZGluZzpVVEYtOD5d DQpgYGANCg0KQnV0IHdpdGggU3RyaW5nSU8sICoqaW50ZXJuYWwgZW5jb2RpbmcgY2FuJ3QgYmUg c2V0KiogaW4gUnVieSAqKjIuNioqOg0KDQpgYGBydWJ5DQpyZXF1aXJlICdzdHJpbmdpbycNCkVu Y29kaW5nLmRlZmF1bHRfaW50ZXJuYWwgPSBuaWwNCnN0ciA9ICfQo9C60YDQsNGX0L3QsCcuZW5j b2RlKCdLT0k4LVUnKQ0KDQojIFNpbXBsZXN0IGZvcm06DQp0ZXN0KFN0cmluZ0lPLm5ldyhzdHIp KQ0KIyA9PiBbIzxFbmNvZGluZzpLT0k4LVU+LCBuaWwsICJceEY1XHhDQlx4RDJceEMxXHhBN1x4 Q0VceEMxIiwgIzxFbmNvZGluZzpLT0k4LVU+XQ0KDQojIFRyeSB0byBzZXQgdmlhIG1vZGUNCnRl c3QoU3RyaW5nSU8ubmV3KHN0ciwgJ3I6S09JOC1VOlVURi04JykpDQojID0+IFsjPEVuY29kaW5n OktPSTgtVT4sIG5pbCwgIlx4RjVceENCXHhEMlx4QzFceEE3XHhDRVx4QzEiLCAjPEVuY29kaW5n OktPSTgtVT5dDQoNCiMgVHJ5IHRvIHNldCB2aWEgc2V0X2VuY29kaW5nOg0KdGVzdChTdHJpbmdJ Ty5uZXcoc3RyLCAncjpLT0k4LVU6VVRGLTgnKS50YXAgeyB8ZnwgZi5zZXRfZW5jb2RpbmcoJ0tP STgtVScsICdVVEYtOCcpIH0pDQojID0+IFsjPEVuY29kaW5nOktPSTgtVT4sIG5pbCwgIlx4RjVc eENCXHhEMlx4QzFceEE3XHhDRVx4QzEiLCAjPEVuY29kaW5nOktPSTgtVT5dDQoNCiMgVHJ5IHRv IHNldCB2aWEgRW5vZGluZy5kZWZhdWx0X2ludGVybmFsOg0KRW5jb2RpbmcuZGVmYXVsdF9pbnRl cm5hbCA9ICdVVEYtOCcNCnRlc3QoU3RyaW5nSU8ubmV3KHN0cikpDQojID0+IFsjPEVuY29kaW5n OktPSTgtVT4sIG5pbCwgIlx4RjVceENCXHhEMlx4QzFceEE3XHhDRVx4QzEiLCAjPEVuY29kaW5n OktPSTgtVT5dDQpgYGANCg0KU28sIGluIDIuNiwgYW55IGF0dGVtcHQgdG8gZG8gc29tZXRoaW5n IHdpdGggU3RyaW5nSU8ncyBpbnRlcm5hbCBlbmNvZGluZyBhcmUgKipqdXN0IGlnbm9yZWQqKi4N Cg0KSW4gKioyLjcqKiwgdGhvdWdoLCBtYXR0ZXJzIGJlY2FtZSBtdWNoIHdvcnNlOg0KYGBgcnVi eQ0KcmVxdWlyZSAnc3RyaW5naW8nDQpFbmNvZGluZy5kZWZhdWx0X2ludGVybmFsID0gbmlsDQpz dHIgPSAn0KPQutGA0LDRl9C90LAnLmVuY29kZSgnS09JOC1VJykNCg0KIyBCZWhhdmVzIHNhbWUg YXMgMi42DQp0ZXN0KFN0cmluZ0lPLm5ldyhzdHIpKQ0KIyA9PiBbIzxFbmNvZGluZzpLT0k4LVU+ LCBuaWwsICJceEY1XHhDQlx4RDJceEMxXHhBN1x4Q0VceEMxIiwgIzxFbmNvZGluZzpLT0k4LVU+ XQ0KDQojIFRyeSB0byBzZXQgdmlhIG1vZGU6IFdFSVJEIGJlaGF2aW9yIHN0YXJ0cw0KdGVzdChT dHJpbmdJTy5uZXcoc3RyLCAncjpLT0k4LVU6VVRGLTgnKSkNCiMgPT4gWyM8RW5jb2Rpbmc6VVRG LTg+LCBuaWwsICJceEY1XHhDQlx4RDJceEMxXHhBN1x4Q0VceEMxIiwgIzxFbmNvZGluZzpVVEYt OD5dDQoNCiMgVHJ5IHRvIHNldCB2aWEgc2V0X2VuY29kaW5nOiBzdGlsbCBqdXN0IGlnbm9yZWQN CnRlc3QoU3RyaW5nSU8ubmV3KHN0ciwgJ3I6S09JOC1VOlVURi04JykudGFwIHsgfGZ8IGYuc2V0 X2VuY29kaW5nKCdLT0k4LVUnLCAnVVRGLTgnKSB9KQ0KIyA9PiBbIzxFbmNvZGluZzpLT0k4LVU+ LCBuaWwsICJceEY1XHhDQlx4RDJceEMxXHhBN1x4Q0VceEMxIiwgIzxFbmNvZGluZzpLT0k4LVU+ XQ0KDQojIFRyeSB0byBzZXQgdmlhIEVub2RpbmcuZGVmYXVsdF9pbnRlcm5hbDogV0VJUkQgYmVo YXZpb3IgYWdhaW4NCkVuY29kaW5nLmRlZmF1bHRfaW50ZXJuYWwgPSAnVVRGLTgnDQp0ZXN0KFN0 cmluZ0lPLm5ldyhzdHIpKQ0KIyA9PiBbIzxFbmNvZGluZzpVVEYtOD4sIG5pbCwgIlx4RjVceENC XHhEMlx4QzFceEE3XHhDRVx4QzEiLCAjPEVuY29kaW5nOlVURi04Pl0NCmBgYA0KDQpTbywgKioy LjcqKiBub3QganVzdCBpZ25vcmVzIGF0dGVtcHRzIHRvIHNldCAqKmludGVybmFsKiogZW5jb2Rp bmcsIGJ1dCBlcnJvbmVvdXNseSBzZXRzIGl0IHRvICoqZXh0ZXJuYWwqKiBvbmUsIHNvIHN0cmlu Z3MgYXJlIG5vdCByZWNvZGVkLCBidXQgdGhlaXIgZW5jb2RpbmcgaXMgZm9yY2VkIHRvIGNoYW5n ZS4NCg0KSSBiZWxpZXZlIGl0IGlzIHNldmVyZSBidWcgKG1vcmUgc2V2ZXJlIHRoYW4gMi42J3Mg Imp1c3QgaWdub3JpbmciKS4NCg0KW1RoaXMgUmVkZGl0IHRocmVhZF0oaHR0cHM6Ly93d3cucmVk ZGl0LmNvbS9yL3J1YnkvY29tbWVudHMvZW1kNnE0L2lzX3RoaXNfYV9zdHJpbmdpb19idWdfaW5f cnVieV8yNzAvKSBzaG93cyBob3cgaXQgYnJlYWtzIGV4aXN0aW5nIGNvZGU6DQoNCiogdGhlIGF1 dGhvciB1c2VzIGBTdHJpbmdJT2AgdG8gd29yayB3aXRoIGBBU0NJSS04QklUYCBzdHJpbmdzOw0K KiB0aGUgY29kZSBpcyBwZXJmb3JtZWQgaW4gUmFpbHMgZW52aXJvbm1lbnQgKHdoaWNoIHNldHMg YGludGVybmFsX2VuY29kaW5nYCB0byBgVVRGLThgIGJ5IGRlZmF1bHQpOw0KKiB1bmRlciAqKjIu NyoqLCBgU3RyaW5nSU8jcmVhZGAgcmV0dXJucyBgQVNDSUktOEJJVGAgY29udGVudCBpbiBTdHJp bmdzIHNheWluZyB0aGVpciBlbmNvZGluZyBpcyBgVVRGLThgLg0KDQoNCg0KDQotLSANCmh0dHBz Oi8vYnVncy5ydWJ5LWxhbmcub3JnLw0KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1y ZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5y dWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K