[#116016] [Ruby master Bug#20150] Memory leak in grapheme clusters — "peterzhu2118 (Peter Zhu) via ruby-core" <ruby-core@...>
Issue #20150 has been reported by peterzhu2118 (Peter Zhu).
7 messages
2024/01/04
[#116382] [Ruby master Feature#20205] Enable `frozen_string_literal` by default — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>
Issue #20205 has been reported by byroot (Jean Boussier).
77 messages
2024/01/23
[ruby-core:116071] [Ruby master Feature#20160] rescue keyword for case expressions
From:
"austin (Austin Ziegler) via ruby-core" <ruby-core@...>
Date:
2024-01-08 15:12:43 UTC
List:
ruby-core #116071
SXNzdWUgIzIwMTYwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgYXVzdGluIChBdXN0aW4gWmllZ2xlciku DQ0KDQ0KDQ0KbGxvZWtpIChMb2ljIE5hZ2VsZWlzZW4pIHdyb3RlOg0NCj4gYGBgDQ0KPiAgICBj YXNlIChwYXJzZWQgPSBwYXJzZShpbnB1dCkpDQ0KPiAgICB3aGVuIEludGVnZXIgdGhlbiBoYW5k bGVfaW50KHBhcnNlZCkNDQo+ICAgIHdoZW4gRmxvYXQgdGhlbiBoYW5kbGVfZmxvYXQocGFyc2Vk KQ0NCj4gICAgcmVzY3VlIFBhcnNlRXJyb3INDQo+ICAgICAgIyAuLi4NDQo+ICAgIHJlc2N1ZSBB cmd1bWVudEVycm9yDQ0KPiAgICAgICMgLi4uDQ0KPiAgICBlbHNlDQ0KPiAgICAgICMgLi4uIGZh bGx0aHJvdWdoIGZvciBhbGwgcmVzY3VlIGFuZCB3aGVuIGNhc2VzDQ0KPiAgICBlbnN1cmUNDQo+ ICAgICAgIyAuLi4gY2FsbGVkIGFsd2F5cw0NCj4gICAgZW5kDQ0KPiBgYGAgDQ0KDQ0KSSBkb24n dCB0aGluayB0aGF0IHRoaXMgd291bGQgYmUgbmVjZXNzYXJpbHkgbW9yZSByZWFkYWJsZSB0aGFu IGEgc3RhbmRhcmQgY2FzZSBvciB0aGUgbmV3IHBhdHRlcm4gbWF0Y2hpbmcgY2FzZS4NDQoNDQpJ ZiBgI3BhcnNlYCBpcyBkZWZpbmVkIGFzOg0NCg0NCmBgYHJ1YnkNDQpkZWYgcGFyc2UoaW5wdXQp DQ0KICAjIHBhcnNpbmcgbG9naWMNDQpyZXNjdWUgU3RhbmRhcmRFcnJvciA9PiBlDQ0KICBbOmVy cm9yLCBlXQ0NCmVuZA0NCmBgYA0NCg0NCllvdSBjb3VsZCB3cml0ZSB0aGUgYGNhc2UvaW5gIHBh dHRlcm5zIGxpa2UgdGhpcyAoSSB0aGluazsgSSBoYXZlIG5vdCB5ZXQgdXNlZCBwYXR0ZXJuIG1h dGNoaW5nIGJlY2F1c2UgdGhlIGxpYnJhcmllcyBJIHN1cHBvcnQgYXJlIG5vdCB5ZXQgMy54IG9u bHkpOg0NCg0NCmBgYHJ1YnkNDQpjYXNlIHBhcnNlKGlucHV0KQ0NCmluIEludGVnZXIgPT4gcGFy c2VkX2ludA0NCiAgaGFuZGxlX2ludChwYXJzZWRfaW50KQ0NCmluIEZsb2F0ID0+IHBhcnNlZF9m bG9hdA0NCiAgaGFuZGxlX2Zsb2F0KHBhcnNlZF9mbG9hdCkNDQppbiA6ZXJyb3IsIFBhcnNlRXJy b3IgPT4gZXJyb3INDQogICMgaGFuZGxlIFBhcnNlRXJyb3INDQppbiA6ZXJyb3IsIEFyZ3VtZW50 RXJyb3IgPT4gZXJyb3INDQogICMgaGFuZGxlIEFyZ3VtZW50RXJyb3INDQplbHNlDQ0KICAjIGFs bCBvdGhlciBjYXNlcyDigJQgbm90ZSB0aGF0IHRoZXJlIGlzIG5vIGFzc2lnbm1lbnQgaGVyZQ0N CiAgIyBidXQgbW9zdCBwYXJzaW5nIHNob3VsZCBwcm9iYWJseSBiZSBleGhhdXN0aXZlDQ0KZW5k DQ0KDQ0KVGhlIGBlbnN1cmVgIGNhc2Ugc2hvdWxkIGJlIGV4ZWN1dGVkIG91dHNpZGUgb2YgdGhl IGBjYXNlYC4NDQoNDQpZZXMsIGl0IG1lYW5zIHJlc3RydWN0dXJpbmcgdGhlIHBhcnNlciBhIGxp dHRsZSBiaXQsIGJ1dCBJIHRoaW5rIGJldHRlciB0aGFuIG1peGluZyBgcmVzY3VlYCBpbnRvIGBj YXNlYC4NDQoNDQpUaGUgVVJJIGNhc2UgcmVxdWlyZXMgYSBiaXQgbW9yZSB3b3JrIChleHRyYWN0 aW5nIHRoZSBnZXQgdG8gYSBzZXBhcmF0ZSBtZXRob2QpOg0NCg0NCmBgYHJ1YnkNDQpkZWYgZmV0 Y2godXJpLCBsaW1pdCA9IDEwKQ0NCiAgIHJhaXNlIEFyZ3VtZW50RXJyb3IsICd0b28gbWFueSBy ZWRpcmVjdHMnIGlmIGxpbWl0ID09IDANDQoNDQogIGNhc2UgcmVzcG9uc2UgPSBnZXRfcmVzcG9u c2UodXJpX3N0cikNDQogIGluIFVSSTo6SW52YWxpZFVSSUVycm9yID0+IGVycm9yDQ0KICAgICMg aGFuZGxlIFVSSSBlcnJvcnMNDQogIGluIFNvY2tldEVycm9yID0+IGVycm9yDQ0KICAgICMgaGFu ZGxlIHNvY2tldCBlcnJvcnMNDQogIGluIEFyZ3VtZW50RXJyb3IgPT4gZXJyb3INDQogICAgIyBh c3N1bWUgdGhhdCBBcmd1bWVudEVycm9yIGlzICd0b28gbWFueSByZWRpcmVjdHMnPw0NCiAgaW4g U3RhbmRhcmRFcnJvciA9PiBlcnJvcg0NCiAgICAjIGhhbmRsZSBvdGhlciBtb3JlIGdlbmVyYWwg ZXJyb3JzDQ0KICBpbiBOZXQ6OkhUVFBTdWNjZXNzDQ0KICAgIHJlc3BvbnNlDQ0KICBpbiBOZXQ6 TlRUUFJlZGlyZWN0aW9uDQ0KICAgIGxvY2F0aW9uID0gcmVzcG9uc2VbJ2xvY2F0aW9uJ10NDQog ICAgd2FybiAicmVkaXJlY3RlZCB0byAje2xvY2F0aW9ufSINDQogICAgZmV0Y2gobG9jYXRpb24s IGxpbWl0IC0gMSkNDQogIGVsc2UNDQogICAgcmVzcG9uc2UudmFsdWUNDQogIGVuZA0NCg0NCiAg QGNvdW50ZXIgKz0gMQ0NCmVuZA0NCg0NCmRlZiBnZXQodXJpX3N0cikNDQogIE5ldDo6TmV0OjpI VFRQLmdldF9yZXNwb25zZShVUkkodXJpX3N0cikpDQ0KcmVzY3VlID0+IGVycm9yDQ0KICBlcnJv cg0NCmVuZA0NCmBgYA0NCg0NCg0NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NDQpGZWF0dXJlICMyMDE2MDogcmVzY3VlIGtleXdvcmQgZm9yIGNhc2UgZXhwcmVzc2lv bnMNDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMjAxNjAjY2hhbmdlLTEwNjA2 OQ0NCg0NCiogQXV0aG9yOiBsbG9la2kgKExvaWMgTmFnZWxlaXNlbikNDQoqIFN0YXR1czogT3Bl bg0NCiogUHJpb3JpdHk6IE5vcm1hbA0NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NDQpJdCBpcyBmcmVxdWVudCB0byBmaW5kIHRoaXMgcGllY2Ugb2YgaHlwb3RoZXRp Y2FsIFJ1YnkgY29kZToNDQoNDQpgYGANDQogICAgIGNhc2UgKHBhcnNlZCA9IHBhcnNlKGlucHV0 KSkNDQogICAgIHdoZW4gSW50ZWdlciB0aGVuIGhhbmRsZV9pbnQocGFyc2VkKQ0NCiAgICAgd2hl biBGbG9hdCB0aGVuIGhhbmRsZV9mbG9hdChwYXJzZWQpDQ0KICAgICBlbmQNDQpgYGANDQoNDQpX aGF0IGlmIHdlIG5lZWQgdG8gaGFuZGxlIGBwYXJzZWAgcmFpc2luZyBhIGh5cG90aGV0aWNhbCBg UGFyc2VFcnJvcmA/IEN1cnJlbnRseSB0aGlzIGNhbiBiZSBkb25lIGluIHR3byB3YXlzLg0NCg0N CkVpdGhlciBvcHRpb24gQSwgd3JhcHBpbmcgYGNhc2UgLi4gZW5kYDoNDQoNDQpgYGANDQogICBi ZWdpbg0NCiAgICAgY2FzZSAocGFyc2VkID0gcGFyc2UoaW5wdXQpKQ0NCiAgICAgd2hlbiBJbnRl Z2VyIHRoZW4gaGFuZGxlX2ludChwYXJzZWQpDQ0KICAgICB3aGVuIEZsb2F0IHRoZW4gaGFuZGxl X2Zsb2F0KHBhcnNlZCkNDQogICAgICAgIyAuLi4NDQogICAgIGVuZA0NCiAgIHJlc2N1ZSBQYXJz ZUVycm9yDQ0KICAgICAjIC4uLg0NCiAgIGVuZA0NCmBgYA0NCg0NCk9yIG9wdGlvbiBCLCBndWFy ZGluZyBiZWZvcmUgYGNhc2VgOg0NCg0NCmBgYA0NCiAgIGJlZ2luDQ0KICAgICBwYXJzZWQgPSBw YXJzZShpbnB1dCkNDQogICByZXNjdWUgUGFyc2VFcnJvcg0NCiAgICAgIyAuLi4NDQogICBlbmQN DQoNDQogICBjYXNlIHBhcnNlZA0NCiAgIHdoZW4gSW50ZWdlciB0aGVuIGhhbmRsZV9pbnQocGFy c2VkKQ0NCiAgIHdoZW4gRmxvYXQgdGhlbiBoYW5kbGVfZmxvYXQocGFyc2VkKQ0NCiAgICAgIyAu Li4NDQogICBlbmQNDQpgYGANDQoNDQpUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIG9wdGlvbiBBIGFu ZCBvcHRpb24gQiBpcyB0aGF0Og0NCg0NCi0gb3B0aW9uIEEgYHJlc2N1ZWAgaXMgbm90IGxvY2Fs aXNlZCB0byBwYXJzaW5nIGFuZCBhbHNvIGNvdmVycyBjb2RlIGZvbGxvd2luZyBgd2hlbmAgKGlu Y2x1ZGluZyBjYWxsaW5nIGA9PT1gKSwgYHRoZW5gLCBhbmQgYGVsc2VgLCB3aGljaCBtYXkgb3Ig bWF5IG5vdCBiZSB3aGF0IG9uZSB3YW50cy4NDQotIG9wdGlvbiBCIGByZXNjdWVgIGlzIGxvY2Fs aXNlZCB0byBwYXJzaW5nIGJ1dCBtb3ZlcyB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgdmFyaWFibGUg KGBwYXJzZWRgKSBhbmQgdGhlIGNhbGwgdG8gd2hhdCBpcyBhY3R1YWxseSBkb25lIChgcGFyc2Uo aW5wdXQpYCkgZmFyIGF3YXkgZnJvbSBgY2FzZWAuDQ0KDQ0KV2l0aCBvcHRpb24gQiBpbiBzb21l IGNhc2VzIHRoZSB2YXJpYWJsZSBuZWVkcyB0byBiZSBpbnRyb2R1Y2VkIGV2ZW4gdGhvdWdoIGl0 IG1pZ2h0IG5vdCBiZSBuZWVkZWQgaW4gYHRoZW5gIHBhcnRzIChlLmcgaWYgdGhlIGNhbGwgaW4g YGNhc2VgIGlzIHNpZGUtZWZmZWN0ZnVsIG9yIGl0cyB2YWx1ZSBzaW1wbHkgbGVhZGluZyB0byBi cmFuY2hpbmcgZGVjaXNpb24gbG9naWMpLg0NCg0NClRoZSBkaWZmZXJlbmNlIGJlY29tZXMgaW1w b3J0YW50IHdoZW4gcmVzY3VlZCBleGNlcHRpb25zIGFyZSBtb3JlIGdlbmVyYWwgKGUuZyBgRXJy bm9gIHN0dWZmLCBgQXJndW1lbnRFcnJvcmAsIGV0Yy4uKSwgYXMgd2VsbCBhcyB3aGVuIHdlIGNv bnNpZGVyIGBlbnN1cmVgIGFuZCBgZWxzZWAuIEkgZmVlbCBsaWtlIG9wdGlvbiBCIGlzIHRoZSBt b3N0IHNlbnNpYmxlIG9uZSBpbiBnZW5lcmFsLCBidXQgaXQgYWRkcyBhIGxvdCBvZiBub2lzZSBh bmQgc3BsaXRzIHRoZSBsb2dpYyBpbiB0d28gcGFydHMuDQ0KDQ0KSSB3b3VsZCBsaWtlIHRvIHN1 Z2dlc3QgYSBuZXcgc3ludGF4Og0NCg0NCmBgYA0NCiAgIGNhc2UgKHBhcnNlZCA9IHBhcnNlKGlu cHV0KSkNDQogICB3aGVuIEludGVnZXIgdGhlbiBoYW5kbGVfaW50KHBhcnNlZCkNDQogICB3aGVu IEZsb2F0IHRoZW4gaGFuZGxlX2Zsb2F0KHBhcnNlZCkNDQogICByZXNjdWUgUGFyc2VFcnJvcg0N CiAgICAgIyAuLi4NDQogICByZXNjdWUgQXJndW1lbnRFcnJvcg0NCiAgICAgIyAuLi4NDQogICBl bHNlDQ0KICAgICAjIC4uLiBmYWxsdGhyb3VnaCBmb3IgYWxsIHJlc2N1ZSBhbmQgd2hlbiBjYXNl cw0NCiAgIGVuc3VyZQ0NCiAgICAgIyAuLi4gY2FsbGVkIGFsd2F5cw0NCiAgIGVuZA0NCmBgYA0N Cg0NCklmIG1vcmUgcmVhZGFiaWxpdHkgaXMgbmVlZGVkIGFzIHRvIHdoYXQgdGhlc2UgYHJlc2N1 ZWAgYXJlIGFpbWVkIHRvIGhhbmRsZSAtIGJlaW5nIG1vcmUgZXhwbGljaXQgdGhhdCB0aGlzIGlz IG9wdGlvbiBCIC0gb25lIGNvdWxkIG9wdGlvbmFsbHkgd3JpdGUgbGlrZSB0aGlzOg0NCg0NCmBg YA0NCiAgIGNhc2UgKHBhcnNlZCA9IHBhcnNlKGlucHV0KSkNDQogICByZXNjdWUgUGFyc2VFcnJv cg0NCiAgICAgIyAuLi4NDQogICByZXNjdWUgQXJndW1lbnRFcnJvcg0NCiAgICAgIyAuLi4NDQog ICB3aGVuIEludGVnZXIgdGhlbiBoYW5kbGVfaW50KHBhcnNlZCkNDQogICB3aGVuIEZsb2F0IHRo ZW4gaGFuZGxlX2Zsb2F0KHBhcnNlZCkNDQogICAgIC4uLg0NCiAgIGVsc2UNDQogICAgICMgLi4u DQ0KICAgZW5zdXJlDQ0KICAgICAjIC4uLg0NCiAgIGVuZA0NCmBgYA0NCg0NCktleXdvcmQgYGVu c3VyZWAgY291bGQgYWxzbyBiZSB1c2VkIHdpdGhvdXQgYHJlc2N1ZWAgaW4gYXNzaWdubWVudCBj b250ZXh0czoNDQoNDQpgYGANDQpmb28gPSBjYXNlIGJhci5wZXJmb3JtDQ0KICAgICAgd2hlbiBB IHRoZW4gMQ0NCiAgICAgIHdoZW4gQiB0aGVuIDINDQogICAgICBlbnN1cmUgYmFyLmRvbmUhDQ0K ICAgICAgZW5kDQ0KYGBgDQ0KDQ0KRXhhbXBsZXM6DQ0KDQ0KLSBBIG1hZGUtdXAgcHVic3ViIHN0 cmVhbWluZyBwYXJzZXIgd2l0aCBpbnRlcm5hbCBzdGF0ZSwgYWJzdHJhY3RpbmcgYXdheSByZWFk aW5nIGZyb20gc291cmNlOg0NCg0NCmBgYA0NCnBhcnNlciA9IFBhcnNlci5uZXcoaW8pDQ0KDQ0K bG9vcCBkbw0NCiAgY2FzZSBwYXJzZXIucGFyc2UgIyBibG9ja3MgZm9yIHJlYWRpbmcgaW8gaW4g Y2h1bmtzDQ0KICByZXNjdWUgU3RhbmRhcmRFcnJvciA9PiBlDQ0KICAgIGlmIHBhcnNlci5jYW5f cmVjb3Zlcj8oZSkNDQogICAgICAjIHRvbGVyYXRlIGZhaWx1cmUsIGlnbm9yZQ0NCiAgICAgIG5l eHQNDQogICAgZWxzZQ0NCiAgICAgIGVtaXRfZmFpbChlKQ0NCiAgICAgIGJyZWFrDQ0KICAgIGVu ZA0NCiAgd2hlbiA6aW50ZWdlcg0NCiAgICBlbWl0X2ludGVnZXIocGFyc2VyLmxhc3QpDQ0KICB3 aGVuIDpmbG9hdA0NCiAgICAgZW1pdF9mbG9hdChwYXJzZXIubGFzdCkNDQogIHdoZW4gOmRvbmUN DQogICAgICMgZS5nIEVPRiByZWFjaGVkLCBJTyBjbG9zZWQsIFlBTUwgLS0tIGVuZCBvZiBkb2Ms IFhNTCB0b3AtbGV2ZWwgY2xvc2VkLCB3aGF0ZXZlciBtYWtlcyBzZW5zZQ0NCiAgICAgZW1pdF9k b25lDQ0KICAgICBicmVhaw0NCiAgZWxzZQ0NCiAgICBwYXJzZXIucm9sbGJhY2sgIyBlLmcgcmV3 aW5kcyBpbywgd2UgbWF5IG5vdCBoYXZlIGVub3VnaCBkYXRhDQ0KICBlbnN1cmUNDQogICAgcGFy c2VyLmNoZWNrcG9pbnQgIyBlLmcgc2F2ZXMgaW8gcG9zaXRpb24gZm9yIHJvbGxiYWNrDQ0KICBl bmQNDQplbmQNDQpgYGANDQoNDQotIE5ldHdvcmsgaGFuZGxpbmcsIGV4dHJhcG9sYXRlZCBmcm9t IFtydWJ5IGRvY3NdKGh0dHBzOi8vcnVieS1kb2Mub3JnL3N0ZGxpYi0yLjcuMS9saWJkb2MvbmV0 L2h0dHAvcmRvYy9OZXQvSFRUUC5odG1sI2NsYXNzLU5ldDo6SFRUUC1sYWJlbC1Gb2xsb3dpbmcr UmVkaXJlY3Rpb24pOg0NCg0NCmBgYA0NCmNhc2UgKHJlc3BvbnNlID0gTmV0OjpIVFRQLmdldF9y ZXNwb25zZShVUkkodXJpX3N0cikpDQ0KcmVzY3VlIFVSSTo6SW52YWxpZFVSSUVycm9yDQ0KICAj IGhhbmRsZSBVUkkgZXJyb3JzDQ0KcmVzY3VlIFNvY2tldEVycm9yDQ0KICAjIGhhbmRsZSBzb2Nr ZXQgZXJyb3JzDQ0KcmVzY3VlDQ0KICAjIG90aGVyIGdlbmVyYWwgZXJyb3JzDQ0Kd2hlbiBOZXQ6 OkhUVFBTdWNjZXNzDQ0KICByZXNwb25zZQ0NCndoZW4gTmV0OjpIVFRQUmVkaXJlY3Rpb24gdGhl bg0NCiAgbG9jYXRpb24gPSByZXNwb25zZVsnbG9jYXRpb24nXQ0NCiAgd2FybiAicmVkaXJlY3Rl ZCB0byAje2xvY2F0aW9ufSINDQogIGZldGNoKGxvY2F0aW9uLCBsaW1pdCAtIDEpDQ0KZWxzZQ0N CiAgcmVzcG9uc2UudmFsdWUNDQplbnN1cmUNDQogIEBjb3VudGVyICs9IDENDQplbmQNDQpgYGAN DQoNDQpDcmVkaXQ6IHRoZSBpZGVhIGluaXRpYWxseSBjYW1lIHRvIG1lIGZyb20gW3RoaXMgYXJ0 aWNsZV0oaHR0cHM6Ly9pbnNpZGUuamF2YS8yMDIzLzEyLzE1L3N3aXRjaC1jYXNlLWVmZmVjdC8p LCBhbmQgdGhpbmtpbmcgaG93IGl0IGNvdWxkIGFwcGx5IHRvIFJ1YnkuDQ0KDQ0KDQ0KDQ0KLS0g DQ0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQ0KIF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KIHJ1YnktY29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1j b3JlQG1sLnJ1YnktbGFuZy5vcmcKIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVi eS1jb3JlLWxlYXZlQG1sLnJ1YnktbGFuZy5vcmcKIHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8v bWwucnVieS1sYW5nLm9yZy9tYWlsbWFuMy9wb3N0b3JpdXMvbGlzdHMvcnVieS1jb3JlLm1sLnJ1 YnktbGFuZy5vcmcv