[#114181] [Ruby master Bug#19767] [Not really a bug, but more a not ideal notification] "historical binary regexp match" when using the "n" modifier in a ruby regex — "rubyFeedback (robert heiler) via ruby-core" <ruby-core@...>
SXNzdWUgIzE5NzY3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHJ1YnlGZWVkYmFjayAocm9iZXJ0IGhl
3 messages
2023/07/14
[ruby-core:114320] [Ruby master Feature#19787] Add Enumerable#uniq_map, Enumerable::Lazy#uniq_map, Array#uniq_map and Array#uniq_map!
From:
"austin (Austin Ziegler) via ruby-core" <ruby-core@...>
Date:
2023-07-31 14:22:17 UTC
List:
ruby-core #114320
SXNzdWUgIzE5Nzg3IGhhcyBiZWVuIHVwZGF0ZWQgYnkgYXVzdGluIChBdXN0aW4gWmllZ2xlciku DQ0KDQ0KDQ0Kam9zaHVheTAzIChKb3NodWEgWW91bmcpIHdyb3RlIGluICNub3RlLTQ6DQ0KPiA+ IElzIGAubWFwIHsgLi4uIH0udW5pcWAgc3VjaCBhIHZlcnkgZnJlcXVlbnQgaWRpb20/DQ0KPiAN DQo+IEkgd29yayBvbiBhIFJhaWxzIGNvZGViYXNlIGFuZCBpdCdzIG1vc3QgY29tbW9ubHkgdXNl ZCB0byBpdGVyYXRlIHRocm91Z2ggZm9yZWlnbiBrZXlzIC8gYXNzb2NpYXRlZCByZWNvcmRzIGFu ZCBnZXQgdGhlIHVuaXF1ZSB2YWx1ZXMgKHF1aXRlIG9mdGVuIGluIHRlc3RzKS4gVGhhdCdzIHRo ZSBvbmx5IHJlYWwgZnJlcXVlbnQgdXNlIGNhc2UgSSd2ZSBjb21lIGFjcm9zcywgYnV0IEkgd291 bGQgc2F5IHRoYXQgb3V0c2lkZSBvZiB0aGF0LCBpdCdzIG5vdCBhbiB1bmNvbW1vbiBjaGFpbmlu ZyBwYXR0ZXJuIGVpdGhlci4NDQoNDQpXb3VsZG7igJl0IGl0IG1ha2UgbW9yZSBzZW5zZSwgdGhl biwgdG8gZG8gYHVuaXEgeyDigKYgfS5tYXAgeyDigKYgfWA/IFllcywgdGhlcmXigJlzIGEgKnNt YWxsKiBiaXQgb2YgZXh0cmEgY29kZSwgYnV0IGl0IG1lYW5zIHRoYXQgeW914oCZcmUgaW4gbW9z dCBjYXNlcyBnb2luZyB0byBiZSBwZXJmb3JtaW5nICpsZXNzIHdvcmsqIHRoYW4gZWl0aGVyIGAu bWFwIHsg4oCmIH0udW5pcWAgb3IgYHVuaXFfbWFwIHsg4oCmIH1gLCBiZWNhdXNlIHlvdeKAmXJl IHJlZHVjaW5nIHRvIHVuaXF1ZSBpbnN0YW5jZXMgYmVmb3JlIG1hcHBpbmcgdGhlbS4gSWYgeW91 ciBjb21wdXRhdGlvbnMgYXJlIGNvbXBsZXggZW5vdWdoIHRoYXQgdGhleSBzaG91bGQgYmUgZG9u ZSBiZWZvcmUgYCN1bmlxYCwgSSB3b3VsZCBieXBhc3MgdGhlIG5lZWQgZm9yIGAjdW5pcWAgYWx0 b2dldGhlciBhbmQgdXNlIGAjcmVkdWNlYC4NDQoNDQo+ID4gYC51bmlxX21hcCB7IC4uLiB9YCBp cyBub3QgYXMgY29uY2lzZSBhcyBgLm1hcCB7IC4uLiB9LnVuaXFgLg0NCj4gDQ0KPiBJJ20gYSBi aXQgbWl4ZWQgb24gdGhpcyBwb2ludC4gSSBzZWUgd2hlcmUgeW91J3JlIGNvbWluZyBmcm9tLCBh bmQgSSB0aGluayB0aGUgc2FtZSBhcmd1bWVudCBjYW4gYmUgbWFkZSBhYm91dCBgI2ZsYXRfbWFw YCBhbmQgYCNmaWx0ZXJfbWFwYC4gQnV0IGl0IGZvbGxvd3MgYSBzaW1pbGFyIG5hbWluZyBwYXR0 ZXJuIHdoZXJlIHRoZSBhbHRlcm5hdGl2ZSBjaGFpbmVkIG1ldGhvZHMgYXJlIGluIHRoZSBuYW1l LCBzbyBJIHBlcnNvbmFsbHkgZmVlbCBsaWtlIGl0J3MgaXQncyBlcXVhbGx5IGFzIGNvbmNpc2U/ DQ0KPiANDQo+IEkgd291bGQgYWxzbyBsaWtlIHRvIHBvaW50IG91dCB0aGF0IHdpdGggYCN1bmlx X21hcGAsIHlvdSBkb24ndCBuZWVkIHRvIHJlYWQgYWxsIHRoZSB3YXkgdG8gYC51bmlxYCBiZWZv cmUgaW5mZXJyaW5nIHRoZSBvdXRwdXQuIFRoaXMgbWlnaHQgaGVscCB3aGVuIHRoZSBib2R5IG9m IHRoZSBgI21hcGAgaXMgcXVpdGUgY29tcGxleCwgYnV0IHlvdSBjb3VsZCBhcmd1ZSB0aGF0IHRo aXMgaXMgYSBjb2RlIHF1YWxpdHkgLyBzdHlsZSBwcm9ibGVtLi4uDQ0KDQ0KVGhlIGAjbWFwYCBi bG9jayBiZWluZyBjb21wbGV4IGlzIGV2ZW4gbW9yZSBvZiBhbiBhcmd1bWVudCBmb3IgcmV2ZXJz aW5nIHRoZSBmbG93IG9yIHVzaW5nIGAjcmVkdWNlYC4NDQoNDQo+IGBgYA0NCj4gc29tZV9hcnJh eS5tYXAgZG8gfGl0ZW18DQ0KPiAgIGlmIHNvbWVfY29uZGl0aW9uDQ0KPiAgICAgc29tZV9tZXRo b2QoaXRlbSkNDQo+ICAgZWxzZQ0NCj4gICAgIHNvbWVfb3RoZXJfbWV0aG9kKGl0ZW0pDQ0KPiAg IGVuZA0NCj4gZW5kLnVuaXENDQo+IA0NCj4gIyB2cw0NCj4gDQ0KPiBzb21lX2FycmF5LnVuaXFf bWFwIGRvIHxpdGVtfA0NCj4gICBpZiBzb21lX2NvbmRpdGlvbg0NCj4gICAgIHNvbWVfbWV0aG9k KGl0ZW0pDQ0KPiAgIGVsc2UNDQo+ICAgICBzb21lX290aGVyX21ldGhvZChpdGVtKQ0NCj4gICBl bmQNDQo+IGVuZA0NCj4gYGBgDQ0KDQ0KQm90aCBvZiB0aGVzZSBjb3VsZCBiZSBzaG9ydGVyIGlm IHlvdSB1c2UgYnJhY2UgYmxvY2tzICh3aGljaCBzaG91bGQgYmUgcHJlZmVycmVkIHdoZW4gKip1 c2luZyoqIHRoZSBvdXRwdXQgb2YgYSBtZXRob2QgbGlrZSBgI21hcGApLg0NCg0NCmBgYHJ1YnkN DQpzb21lX2FycmF5Lm1hcCB7IHNvbWVfY29uZGl0aW9uID8gc29tZV9tZXRob2QoXzEpIDogc29t ZV9vdGhlcl9tZXRob2QoXzEpIH0udW5pcQ0NCmBgYA0NCg0NCkZyb20gYSByZWR1Y2VkIG9wZXJh dGlvbnMgcGVyc3BlY3RpdmUsIGAjcmVkdWNlYCBpcyBnb2luZyB0byBiZSBmYXN0ZXIgdGhhbiBt b3N0IGFueXRoaW5nIGVsc2UsIGFuZCB0aGVyZSBhcmUgbXVsdGlwbGUgb3B0aW9ucyBmb3IgdGhl IG9wZXJhdGlvbiwgYnV0IGBTZXRgIGlzIGxpa2VseSB0byBiZSB5b3VyIGJlc3QgY2FzZToNDQoN DQpgYGBydWJ5DQ0Kc29tZV9hcnJheS5yZWR1Y2UoU2V0Lm5ldykgeyBfMi5hZGQoc29tZV9jb25k aXRpb24gPyBzb21lX21ldGhvZChfMikgOiBzb21lX290aGVyX21ldGhvZChfMikpIH0udG9fYQ0N CmBgYA0NCg0NClVuaXF1ZWx5IG1hcHBlZCBpbiBvbmUgcGFzcywgYWx0aG91Z2ggSSB0aGluayBz dGlsbCBsZXNzIGVmZmljaWVudCB0aGFuIGB1bmlxIHt9Lm1hcCB7fWAgYmVjYXVzZSB5b3UgaGF2 ZSB0byBtYXAgdGhlIGl0ZW1zIGJlZm9yZSBkZXRlcm1pbmluZyB0aGF0IHRoZXkgYXJlIHVuaXF1 ZSAodmlhIGBTZXQjYWRkYCkuIE9uZSBjb3VsZCBpbXBsZW1lbnQgdGhpcyB3aXRob3V0IGBTZXRg LCBidXQgdGhhdCB3b3VsZCByZXF1aXJlIGEgYml0IG1vcmUgd29yazoNDQoNDQpgYGBydWJ5DQ0K c29tZV9hcnJheS5yZWR1Y2Uoe30pIHsNDQogIHYgPSBzb21lX2NvbmRpdGlvbiA/IHNvbWVfbWV0 aG9kKF8yKSA6IHNvbWVfb3RoZXJfbWV0aG9kKF8yKQ0NCiBfMVt2XSA9IHRydWUgdW5sZXNzIF8x LmtleT8odikNDQogXzENDQp9LmtleXMNDQoNDQpUaGVzZSBhcmUgYm90aCAqc2xpZ2h0bHkqIGxl c3MgZWZmaWNpZW50IHRoYW4geW91ciBDIGNvZGUgYmVjYXVzZSBJIGRvbuKAmXQgYmVsaWV2ZSB0 aGF0IHRoZXJl4oCZcyBhIHdheSB0byBwcmVhbGxvY2F0ZSBhIEhhc2ggc2l6ZSBmcm9tIFJ1Ynkg KHRoZXJlIGhhdmUgYmVlbiBwcm9wb3NhbHMsIGJ1dCBJIGRvbuKAmXQgYmVsaWV2ZSBhbnkgaGF2 ZSBiZWVuIGFjY2VwdGVkKS4NDQoNDQo+ID4gU2NhbGEgZG9lc24ndCBzZWVtIHRvIHByb3ZpZGUg YHVuaXFNYXBgLg0NCj4gDQ0KPiBTb3JyeSwgdGhpcyBpcyB0aGUgZmlyc3QgUnVieSBpc3N1ZSBJ J3ZlIGNyZWF0ZWQgb3IgYmVpbmcgaW52b2x2ZWQgd2l0aCwgc28gSSdtIG5vdCBzdXJlIHdoeSB0 aGlzIHdhcyBwb2ludGVkIG91dC4gSXMgdGhpcyBhIHVzdWFsIGNvbnNpZGVyYXRpb24gZm9yIG5l dyBmZWF0dXJlcz8NDQoNDQpXaGVuIHRyeWluZyB0byBhZGQgYSBmdW5jdGlvbmFsIHNob3J0aGFu ZCwgaXQgaXMgY29tbW9uIHRvIGNvbXBhcmUgaXQgYWdhaW5zdCBvdGhlciBmdW5jdGlvbmFsIGxh bmd1YWdlcyB0byBzZWUgaWYgaXQgb3IgYSBjbG9zZSBzeW5vbnltIGlzIGNvbW1vbmx5IHVzZWQg YmVjYXVzZSBtYW55IHBlb3BsZSB3b3JraW5nIHdpdGggZnVuY3Rpb25hbCBvcGVyYXRpb25zIGZp bmQgaXQgdXNlZnVsIHRvIGhhdmUgc3VjaCBhIHNob3J0aGFuZC4gU28sIG5vdCB1bnVzdWFsLg0N Cg0NCj4gDQ0KPiA+IENvbnNpZGVyaW5nIHRoZSBhYm92ZSwgSSB0aGluayB0aGUgbW90aXZhdGlv biBpcyB0b28gd2VhayB0byBwcm92aWRlIGB1bmlxX21hcGAuDQ0KPiANDQo+IFlvdXIgcG9pbnRz IGFyZSB2ZXJ5IHZhbGlkLCBhbmQgSSBhcHByZWNpYXRlIHRoZSByZXNwb25zZS4gV2hhdCBpcyB0 aGUgdXN1YWwgcHJvY2VzcyBmb3IgZGVjaWRpbmcgb24gd2hldGhlciBvciBub3QgdG8gYWNjZXB0 IGEgZmVhdHVyZT8NDQoNDQpDb25zZW5zdXMtYnVpbGRpbmcgbW9zdGx5Lg0NCg0NCkkgZG9u4oCZ dCB0aGluayB0aGF0IGAjdW5pcV9tYXBgIGlzIGEgZ29vZCBhZGRpdGlvbiBiZWNhdXNlIGl0IGlz ICpvbmx5KiBzdWdhciBvdmVyIGAubWFwIHt9LnVuaXFgIGFuZCBjYW5ub3Qgc3VnYXIgb3ZlciBg Lm1hcCB7fS51bmlxIHt9YCwgYW5kIEkgdGhpbmsgdGhhdCDigJQgd2l0aCB0aGUgZXhjZXB0aW9u IG9mIHRoZSBpbnRlcm1lZGlhdGUgaGFzaC1zaXplIHByZWFsbG9jYXRpb24g4oCUIGAjcmVkdWNl YCBvciBgLnVuaXEge30ubWFwIHt9YCB3aWxsIGJlIGFzIG9yIG1vcmUgZWZmaWNpZW50IHRoYW4g YCN1bmlxX21hcGAuIEkgZG9u4oCZdCBoYXZlIGJlbmNobWFya3MsIHRob3VnaC4NDQoNDQotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQ0KRmVhdHVyZSAjMTk3ODc6IEFk ZCBFbnVtZXJhYmxlI3VuaXFfbWFwLCBFbnVtZXJhYmxlOjpMYXp5I3VuaXFfbWFwLCBBcnJheSN1 bmlxX21hcCBhbmQgQXJyYXkjdW5pcV9tYXAhDQ0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcv aXNzdWVzLzE5Nzg3I2NoYW5nZS0xMDQwMjANDQoNDQoqIEF1dGhvcjogam9zaHVheTAzIChKb3No dWEgWW91bmcpDQ0KKiBTdGF0dXM6IE9wZW4NDQoqIFByaW9yaXR5OiBOb3JtYWwNDQotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQ0KSSB3b3VsZCBsaWtlIHRvIHByb3Bv c2UgYSBjb2xsZWN0aW9uIG9mIG5ldyBtZXRob2RzLCBgRW51bWVyYWJsZSN1bmlxX21hcGAsIGBF bnVtZXJhYmxlOjpMYXp5I3VuaXFfbWFwYCwgYEFycmF5I3VuaXFfbWFwYCBhbmQgYEFycmF5I3Vu aXFfbWFwIWAuDQ0KDQ0KVEw7RFI6IEl0J3MgYSBkcm9wIGluIHJlcGxhY2VtZW50IGZvciBgLm1h cCB7IC4uLiB9LnVuaXFgLCB3aXRoIChob3BlZnVsbHkpIGJldHRlciBwZXJmb3JtYW5jZS4NDQoN DQpJJ3ZlIHF1aXRlIG9mdGVuIGhhZCB0byBtYXAgb3ZlciBhbiBhcnJheSBhbmQgZ2V0IGl0cyB1 bmlxdWUgZWxlbWVudHMuIEl0IG9jY3VycmVkIHRvIG1lIHdoZW4gZG9pbmcgc28gcmVjZW50bHkg dGhhdCBSdWJ5IGRvZXNuJ3QgaGF2ZSBhIHNob3J0IGZvcm0gbWV0aG9kIGZvciBkb2luZyB0aGF0 LCBzaW1pbGFyIHRvIGhvdyBgLmZsYXRfbWFwIHsgLi4uIH1gIHJlcGxhY2VzIGAubWFwIHsgLi4u IH0uZmxhdHRlbmAgYW5kIGAuZmlsdGVyX21hcCB7IC4uLiB9YCByZXBsYWNlcyBgLm1hcCB7IC4u LiB9LmNvbXBhY3RgICh3aXRoIG1pbm9yIGRpZmZlcmVuY2VzKS4gSSB0aGluayB0aGVzZSBuZXcg bWV0aG9kcyBjb3VsZCBiZSBiZW5lZmljaWFsIGJvdGggaW4gdGVybXMgb2YgYmV0dGVyIHBlcmZv cm1hbmNlIGFuZCB3cml0aW5nIG1vcmUgc3VjY2luY3QgY29kZS4NDQoNDQpJJ3ZlIGdvdCBhIGRy YWZ0IFBSIHVwIHdpdGggc29tZSBpbml0aWFsIGJlbmNobWFya3MgaW4gdGhlIGRlc2NyaXB0aW9u OiBodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L3B1bGwvODE0MC4NDQoNDQoNDQoNDQotLSAN DQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8NDQogX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNv cmVAbWwucnVieS1sYW5nLm9yZwogVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5 LWNvcmUtbGVhdmVAbWwucnVieS1sYW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9t bC5ydWJ5LWxhbmcub3JnL21haWxtYW4zL3Bvc3Rvcml1cy9saXN0cy9ydWJ5LWNvcmUubWwucnVi eS1sYW5nLm9yZy8=