[ruby-core:121658] [Ruby Bug#20919] IO#seek and IO#pos= do not clear the character buffer in some cases while transcoding
From:
mjrzasa via ruby-core <ruby-core@...>
Date:
2025-04-14 18:42:26 UTC
List:
ruby-core #121658
SXNzdWUgIzIwOTE5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWpyemFzYSAoTWFjaWVrIFJ6xIVzYSku DQoNCg0KRm9sa3MsIGNvdWxkIEkgYXNrIGZvciBhIHJldmlldyAoYW5kIHBvdGVudGlhbCBtZXJn ZSkgb24gdGhlIGZpeCBvZiB0aGlzIGlzc3VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1Ynkv cHVsbC8xMjcxND8NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K QnVnICMyMDkxOTogSU8jc2VlayBhbmQgSU8jcG9zPSBkbyBub3QgY2xlYXIgdGhlIGNoYXJhY3Rl ciBidWZmZXIgaW4gc29tZSBjYXNlcyB3aGlsZSB0cmFuc2NvZGluZw0KaHR0cHM6Ly9idWdzLnJ1 YnktbGFuZy5vcmcvaXNzdWVzLzIwOTE5I2NoYW5nZS0xMTI3MTMNCg0KKiBBdXRob3I6IGphdmFu dGhyb3B1cyAoSmVyZW15IEJvcHApDQoqIFN0YXR1czogT3Blbg0KKiBydWJ5IC12OiBydWJ5IDMu NC4wZGV2ICgyMDI0LTExLTI4VDEyOjM4OjE2WiBtYXN0ZXIgM2FmMWEwNDc0MSkgK1BSSVNNIFt4 ODZfNjQtbGludXhdDQoqIEJhY2twb3J0OiAzLjE6IFVOS05PV04sIDMuMjogVU5LTk9XTiwgMy4z OiBVTktOT1dODQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpXaGVu IHRyYW5zY29kaW5nIGNoYXJhY3RlcnMsIGBJTyNzZWVrYCBhbmQgYElPI3Bvcz1gIG9ubHkgY2xl YXIgdGhlIGludGVybmFsIGNoYXJhY3RlciBidWZmZXIgaWYgYElPI2dldGNgIGlzIGNhbGxlZCBm aXJzdDoNCg0KYGBgcnVieQ0KcmVxdWlyZSAndGVtcGZpbGUnDQoNClRlbXBmaWxlLm9wZW4oZW5j b2Rpbmc6ICd1dGYtODp1dGYtMTZsZScpIGRvIHxmfA0KICBmLndyaXRlKCcwMTIzNDU2Nzg5JykN CiAgZi5yZXdpbmQNCg0KICBmLnVuZ2V0YygnYScuZW5jb2RlKCd1dGYtMTZsZScpKQ0KDQogICMg Q2hhcmFjdGVyIGJ1ZmZlciBXSUxMIE5PVCBiZSBjbGVhcmVkDQogIGYuc2VlaygyLCA6U0VUKQ0K DQogIGYuZ2V0YyAgICAgICAjID0+ICdhJy5lbmNvZGUoJ3V0Zi0xNmxlJyk7IHNob3VsZCBiZSAn MicuZW5jb2RlKCd1dGYtMTZsZScpDQplbmQNCg0KVGVtcGZpbGUub3BlbihlbmNvZGluZzogJ3V0 Zi04OnV0Zi0xNmxlJykgZG8gfGZ8DQogIGYud3JpdGUoJzAxMjM0NTY3ODknKQ0KICBmLnJld2lu ZA0KDQogIGYudW5nZXRjKCdhJy5lbmNvZGUoJ3V0Zi0xNmxlJykpDQoNCiAgIyBDaGFyYWN0ZXIg YnVmZmVyIFdJTEwgTk9UIGJlIGNsZWFyZWQNCiAgZi5wb3MgPSAyDQoNCiAgZi5nZXRjICAgICAg ICMgPT4gJ2EnLmVuY29kZSgndXRmLTE2bGUnKTsgc2hvdWxkIGJlICcyJy5lbmNvZGUoJ3V0Zi0x NmxlJykNCmVuZA0KDQpUZW1wZmlsZS5vcGVuKGVuY29kaW5nOiAndXRmLTg6dXRmLTE2bGUnKSBk byB8ZnwNCiAgZi53cml0ZSgnMDEyMzQ1Njc4OScpDQogIGYucmV3aW5kDQoNCiAgIyBBZGRlZCBh IGNhbGwgdG8gI2dldGMgaGVyZQ0KICBmLmdldGMNCg0KICBmLnVuZ2V0YygnYScuZW5jb2RlKCd1 dGYtMTZsZScpKQ0KDQogICMgQ2hhcmFjdGVyIGJ1ZmZlciBXSUxMIGJlIGNsZWFyZWQgbm93DQog IGYuc2VlaygyLCA6U0VUKQ0KICAjIFNhbWUgYmVoYXZpb3IgZm9yICNwb3M9DQogICNmLnBvcyA9 IDINCg0KICBmLmdldGMgICAgICAgIyA9PiAnMicuZW5jb2RlKCd1dGYtMTZsZScpDQplbmQNCmBg YA0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8NCiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBydWJ5LWNvcmUgbWFpbGluZyBsaXN0 IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVt YWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3JnCiBydWJ5LWNvcmUgaW5mbyAt LSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMvbGlzdHMvcnVieS1jb3JlLm1sLnJ1 YnktbGFuZy5vcmcv