[ruby-core:120938] [Ruby master Bug#16145] regexp match error if mixing /i, character classes, and utf8
From:
mjrzasa via ruby-core <ruby-core@...>
Date:
2025-02-11 23:03:17 UTC
List:
ruby-core #120938
SXNzdWUgIzE2MTQ1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWpyemFzYSAoTWFjaWVrIFJ6xIVzYSku DQoNCg0KSSd2ZSB0ZXN0ZWQgaXQgZm9yIFBvbGlzaCBsZXR0ZXJzLCB0aGUgYnVnIGFwcGVhcnMg b25seSBmb3IgYMOzYCwgYWxsIG90aGVyIHdvcmsgT0s6DQoNCmBgYA0KcHJ5KG1haW4pPiBbJ8SF JywgJ8SZJywgJ8OzJywgJ8WbJywgJ8WCJywgJ8SHJywgJ8W6JywgJ8W8JywgJ8WEJ10ubWFwIHsg W18xLCBfMS5ieXRlcywgL1t4I3tfMX1dL2kubWF0Y2g/KCJxd2VyI3tfMS5jYXBpdGFsaXplfSIp XSAgfQ0KPT4gW1sixIUiLCBbMTk2LCAxMzNdLCB0cnVlXSwNCiBbIsSZIiwgWzE5NiwgMTUzXSwg dHJ1ZV0sDQogWyLDsyIsIFsxOTUsIDE3OV0sIGZhbHNlXSwNCiBbIsWbIiwgWzE5NywgMTU1XSwg dHJ1ZV0sDQogWyLFgiIsIFsxOTcsIDEzMF0sIHRydWVdLA0KIFsixIciLCBbMTk2LCAxMzVdLCB0 cnVlXSwNCiBbIsW6IiwgWzE5NywgMTg2XSwgdHJ1ZV0sDQogWyLFvCIsIFsxOTcsIDE4OF0sIHRy dWVdLA0KIFsixYQiLCBbMTk3LCAxMzJdLCB0cnVlXV0NCg0KYGBgDQpgw7NgLCBsaWtlIGDDqWAg c3RhcnRzIHdpdGggYSBieXRlIG9mIGAxOTVgDQoNCmBgYA0KcHJ5KG1haW4pPiAnw6knLmJ5dGVz DQo9PiBbMTk1LCAxNjldDQpgYGANCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KQnVnICMxNjE0NTogcmVnZXhwIG1hdGNoIGVycm9yIGlmIG1peGluZyAvaSwgY2hh cmFjdGVyIGNsYXNzZXMsIGFuZCB1dGY4DQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1 ZXMvMTYxNDUjY2hhbmdlLTExMTgyOQ0KDQoqIEF1dGhvcjogemVuc3BpZGVyIChSeWFuIERhdmlz KQ0KKiBTdGF0dXM6IE9wZW4NCiogQmFja3BvcnQ6IDIuNTogVU5LTk9XTiwgMi42OiBVTktOT1dO DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoocmVwb3J0ZWQgb24g YmVoYWxmIG9mIG1hZ2VAbWFnZS5nb2xkIC0tIHRoZXJlIGFwcGVhcnMgdG8gYmUgYW4gZXJyb3Ig aW4gcmVnaXN0cmF0aW9uIG9yIGxvZ2luKToNCg0KU2VlOiBydWJ5LXRhbGsgQCBYLU1haWwtQ291 bnQ6IDQ0MDMzNg0KDQoyLjYuMyA6MDQ5ID4gJ1NIT1AnID1+IC9beG9dL2kNCiA9PiAyDQoyLjYu MyA6MDUwID4gJ0NBRsOJJyA9fiAvW8OpXS9pDQogPT4gMw0KMi42LjMgOjA1MSA+ICdDQUbDiScg PX4gL1t4w6ldL2kNCiA9PiBuaWwNCjIuNi4zIDowNTIgPiAnQ0FGw4knID1+IC9beMOJXS9pDQog PT4gMw0KDQpFeHBlY3RlZCByZXN1bHQ6IA0KIDIuNi4zIDowNTEgPiAnQ0FGw4knID1+IC9beMOp XS9pIA0KPT4gMw0KDQpJIHRlc3RlZCBpdCBvbiByYW5kb20gcmVnZXggb25saW5lIHBhZ2VzLg0K DQpJdCBkb2VzIG5vdCBtYXRjaCBvbiBodHRwczovL3JlZ2V4MTAxLmNvbS8NCg0KSXQgbWF0Y2hl cyBvbjoNCg0KaHR0cHM6Ly9yZWdleHIuY29tLw0KaHR0cHM6Ly93d3cucmVnZXh0ZXN0ZXIuY29t Lw0KaHR0cHM6Ly93d3cuZnJlZWZvcm1hdHRlci5jb20vcmVnZXgtdGVzdGVyLmh0bWwNCg0KKEln bm9yZSBjYXNlIHR1cm5lZCBvbikuDQoNClRoZSByZWFzb24gSSBzdXBwb3NlIGl04oCZcyBtb3Jl IGxpa2UgYSBidWcgdGhhbiBhIGZlYXR1cmUgaXMgdGhlIGZhY3QgdGhhdCAvW8OpXS9pIG1hdGNo ZXMgJ0NBRsOJJy4gSWYgdGhlIC8vaSBkaWRu4oCZdCB3b3JrIGZvciBVVEYtOCBjaGFyYWN0ZXJz IHRoZW4gdGhlIC9bw6ldL2kgd291bGRu4oCZdCBtYXRjaCBpdCBlaXRoZXIuIEZvciBleGFtcGxl LCBbw6ldIGRvZXMgbm90IG1hdGNoICdDQUbDiScgb24gaHR0cHM6Ly9yZWdleDEwMS5jb20vDQoN CkkgY291bGQgbm90IGZpbmQgYSBwYWdlIG9yIGEgc3lzdGVtIHRoYXQgYmVoYXZlcyB0aGUgc2Ft ZSB3YXkgYXMgUnVieSBkb2VzLiBGb3IgZXhhbXBsZSwgaXQgbWF0Y2hlcyBpbiBQb3N0Z3JlU1FM IDEwICh1bmRlciBGcmVlQlNEIDEyKSB0b286DQoNCiMgc2VsZWN0ICdDQUbDiSd+ICdbeMOpXSc7 DQogP2NvbHVtbj8NCi0tLS0tLS0tLS0NCiBmDQooMSByb3cpDQoNCiMgc2VsZWN0ICdDQUbDiScg fiogJ1t4w6ldJzsNCiA/Y29sdW1uPw0KLS0tLS0tLS0tLQ0KIHQNCigxIHJvdykNCg0KVGVzdGVk IGl0IGluIElSQiBvbiBtYWNPUyBhbmQgRnJlZUJTRC4NCg0KICQgdW5hbWUgLWEgJiYgcnVieSAt diAmJiBsb2NhbGUNCkRhcndpbiB4eHggMTguNy4wIERhcndpbiBLZXJuZWwgVmVyc2lvbiAxOC43 LjA6IFRodSBKdW4gMjAgMTg6NDI6MjEgUERUIDIwMTk7IHJvb3Q6eG51LTQ5MDMuMjcwLjQ3fjQv UkVMRUFTRV9YODZfNjQgeDg2XzY0DQpydWJ5IDIuNi4zcDYyICgyMDE5LTA0LTE2IHJldmlzaW9u IDY3NTgwKSBbeDg2XzY0LWRhcndpbjE4XQ0KTEFORz0iZW5fVVMuVVRGLTgiDQpMQ19DT0xMQVRF PSJlbl9VUy5VVEYtOCINCkxDX0NUWVBFPSJlbl9VUy5VVEYtOCINCkxDX01FU1NBR0VTPSJlbl9V Uy5VVEYtOCINCkxDX01PTkVUQVJZPSJlbl9VUy5VVEYtOCINCkxDX05VTUVSSUM9ImVuX1VTLlVU Ri04Ig0KTENfVElNRT0iZW5fVVMuVVRGLTgiDQpMQ19BTEw9ImVuX1VTLlVURi04Ig0KDQokIHVu YW1lIC1hICYmIHJ1YnkgLXYgJiYgbG9jYWxlDQpGcmVlQlNEIHh4eCAxMi4wLVJFTEVBU0UtcDkg RnJlZUJTRCAxMi4wLVJFTEVBU0UtcDkgR0VORVJJQyAgYW1kNjQNCnJ1YnkgMi42LjNwNjIgKDIw MTktMDQtMTYgcmV2aXNpb24gNjc1ODApIFt4ODZfNjQtZnJlZWJzZDEyLjBdDQpMQU5HPWVuX1VT LlVURi04DQpMQ19DVFlQRT0iZW5fVVMuVVRGLTgiDQpMQ19DT0xMQVRFPSJlbl9VUy5VVEYtOCIN CkxDX1RJTUU9ImVuX1VTLlVURi04Ig0KTENfTlVNRVJJQz0iZW5fVVMuVVRGLTgiDQpMQ19NT05F VEFSWT0iZW5fVVMuVVRGLTgiDQpMQ19NRVNTQUdFUz0iZW5fVVMuVVRGLTgiDQpMQ19BTEw9ZW5f VVMuVVRGLTgNCg0KSSBpbnN0YWxsZWQgUnVieSB3aXRoIFJWTS4NCg0KDQoNCg0KLS0gDQpodHRw czovL2J1Z3MucnVieS1sYW5nLm9yZy8NCiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCiBydWJ5LWNvcmUgbWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBtbC5y dWJ5LWxhbmcub3JnCiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29yZS1s ZWF2ZUBtbC5ydWJ5LWxhbmcub3JnCiBydWJ5LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1Ynkt bGFuZy5vcmcvbWFpbG1hbjMvbGlzdHMvcnVieS1jb3JlLm1sLnJ1YnktbGFuZy5vcmcv