[#122973] [PATCH] Add Gem.default_install — Felipe Contreras via ruby-core <ruby-core@...>
We need a way to enable user installs by default so that tools like
3 messages
2025/08/17
[ruby-core:123088] [Ruby Feature#21550] Ractor.sharable_proc/sharable_lambda to make sharable Proc object
From:
"tenderlovemaking (Aaron Patterson) via ruby-core" <ruby-core@...>
Date:
2025-08-27 19:19:14 UTC
List:
ruby-core #123088
SXNzdWUgIzIxNTUwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgdGVuZGVybG92ZW1ha2luZyAoQWFyb24g UGF0dGVyc29uKS4NCg0KDQprbzEgKEtvaWNoaSBTYXNhZGEpIHdyb3RlIGluICNub3RlLTk6DQo+ IEkgbWFkZSBhIHBhdGNoIHRvIGRpc2FsbG93IGFjY2Vzc2luZyB0byBhbnkgb3V0ZXIgdmFyaWFi bGVzIGFuZCBJIGZvdW5kIHRoYXQgSSBjYW4ndCB3cml0ZSBvc3RydWN0IGNhc2U6DQo+IA0KPiBg YGBydWJ5DQo+ICMgb3N0cnVjdC0wLjYuMy9saWIvb3N0cnVjdC5yYg0KPiANCj4gICBkZWYgbmV3 X29zdHJ1Y3RfbWVtYmVyIShuYW1lKSAjIDpub2RvYzoNCj4gICAgIHVubGVzcyBAdGFibGUua2V5 PyhuYW1lKSB8fCBpc19tZXRob2RfcHJvdGVjdGVkIShuYW1lKQ0KPiAgICAgICBpZiBkZWZpbmVk Pyg6OlJhY3Rvci5zaGFyZWFibGVfcHJvYykNCj4gICAgICAgICBnZXR0ZXJfcHJvYyA9IFJhY3Rv ci5zaGFyZWFibGVfcHJvYyB7IEB0YWJsZVtuYW1lXSB9DQo+ICAgICAgICAgc2V0dGVyX3Byb2Mg PSBSYWN0b3Iuc2hhcmVhYmxlX3Byb2Mge3x4fCBAdGFibGVbbmFtZV0gPSB4fQ0KPiAgICAgICBl bHNpZiBkZWZpbmVkPyg6OlJhY3RvcikNCj4gICAgICAgICBnZXR0ZXJfcHJvYyA9IG5pbC5pbnN0 YW5jZV9ldmFseyBQcm9jLm5ldyB7IEB0YWJsZVtuYW1lXSB9IH0NCj4gICAgICAgICBzZXR0ZXJf cHJvYyA9IG5pbC5pbnN0YW5jZV9ldmFseyBQcm9jLm5ldyB7fHh8IEB0YWJsZVtuYW1lXSA9IHh9 IH0NCj4gICAgICAgICA6OlJhY3Rvci5tYWtlX3NoYXJlYWJsZShnZXR0ZXJfcHJvYykNCj4gICAg ICAgICA6OlJhY3Rvci5tYWtlX3NoYXJlYWJsZShzZXR0ZXJfcHJvYykNCj4gICAgICAgZWxzZQ0K PiAgICAgICAgIGdldHRlcl9wcm9jID0gUHJvYy5uZXcgeyBAdGFibGVbbmFtZV0gfQ0KPiAgICAg ICAgIHNldHRlcl9wcm9jID0gUHJvYy5uZXcge3x4fCBAdGFibGVbbmFtZV0gPSB4fQ0KPiAgICAg ICBlbmQNCj4gICAgICAgZGVmaW5lX3NpbmdsZXRvbl9tZXRob2QhKG5hbWUsICZnZXR0ZXJfcHJv YykNCj4gICAgICAgZGVmaW5lX3NpbmdsZXRvbl9tZXRob2QhKCIje25hbWV9PSIsICZzZXR0ZXJf cHJvYykNCj4gICAgIGVuZA0KPiAgIGVuZA0KPiBgYGANCj4gDQo+IFNvIEkgdGhpbmsgaXQgaXMg bmVlZGVkIHRvIGFsbG93IHRoZSB3YXkgdG8gYWNjZXNzIG91dGVyIHZhcmlhYmxlcy4NCj4gT3B0 aW9uIDIgKGFsbG93IGFjY2Vzc2VzIG9ubHkgb24gbGV4aWNhbCBibG9ja3MpIGlzIHJlamVjdGVk IGJ5IE1hdHosIHNvIEkgd2FudCB0byBpbnRyb2R1Y2UgMSBvciAzLg0KPiAxIGlzIGJldHRlciBm b3IgbWUuLi4NCg0KSSB0aGluayAzIGlzIGEgZ29vZCBpZGVhLCBidXQgSSB0aGluayB3ZSBjb3Vs ZCBpbnRyb2R1Y2UgaXQgaW4gbGF0ZXIgdmVyc2lvbnMgb2YgUnVieSBhbmQgc2xvd2x5IG1pZ3Jh dGUgY29kZSAoaWYgdGhlIHN5bnRheCBjaGFuZ2UgaXMgYWNjZXB0YWJsZSkuICBPcHRpb24gMSBs ZXRzIHVzIG1vcmUgZWFzaWx5IHBvcnQgZXhpc3RpbmcgY29kZSB3aXRob3V0IHN5bnRheCBjaGFu Z2VzLCBzbyBJIGxpa2UgaXQgZm9yIG5vdy4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAjMjE1NTA6IFJhY3Rvci5zaGFyYWJsZV9wcm9jL3NoYXJh YmxlX2xhbWJkYSB0byBtYWtlIHNoYXJhYmxlIFByb2Mgb2JqZWN0DQpodHRwczovL2J1Z3MucnVi eS1sYW5nLm9yZy9pc3N1ZXMvMjE1NTAjY2hhbmdlLTExNDQwMg0KDQoqIEF1dGhvcjoga28xIChL b2ljaGkgU2FzYWRhKQ0KKiBTdGF0dXM6IE9wZW4NCiogQXNzaWduZWU6IGtvMSAoS29pY2hpIFNh c2FkYSkNCiogVGFyZ2V0IHZlcnNpb246IDMuNQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KTGV0J3MgaW50cm9kdWNlIGEgd2F5IHRvIG1ha2UgYSBzaGFyYWJsZSBQ cm9jLg0KDQoqIGBSYWN0b3Iuc2hhcmVhYmxlX3Byb2Moc2VsZjogbmlsLCAmYmxvY2spYCBtYWtl cyBwcm9jLg0KKiBgUmFjdG9yLnNoYXJlYWJsZV9sYW1iZGEoc2VsZjogbmlsLCAmYmxvY2spYCBt YWtlcyBsYW1iZGEuDQoNClNlZSBhbHNvOiBodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1 ZXMvMjEwMzkNCg0KIyMgQmFja2dyb3VuZA0KDQojIyMgTW90aXZhdGlvbg0KDQpCZWluZyBhYmxl IHRvIGNyZWF0ZSBhIHNoYXJlYWJsZSBQcm9jIGlzIGltcG9ydGFudCBmb3IgUmFjdG9ycy4gRm9y IGV4YW1wbGUsIHdlIG9mdGVuIHdhbnQgdG8gc2VuZCBhIHRhc2sgdG8gYW5vdGhlciBSYWN0b3I6 DQoNCmBgYHJ1YnkNCndvcmtlciA9IFJhY3Rvci5uZXcgZG8NCiAgd2hpbGUgdGFzayA9IFJhY3Rv ci5yZWNlaXZlDQogICAgdGFzay5jYWxsKC4uLikNCiAgZW5kDQplbmQNCg0KdGFzayA9IChzaGFy YWJsZV9wcm9jKQ0Kd29ya2VyIDw8IHRhc2sNCg0KdGFzayA9IChzaGFyYWJsZV9wcm9jKQ0Kd29y a2VyIDw8IHRhc2sNCg0KdGFzayA9IChzaGFyYWJsZV9wcm9jKQ0Kd29ya2VyIDw8IHRhc2sNCmBg YA0KDQpUaGVyZSBhcmUgdmFyaW91cyB3YXlzIHRvIHJlcHJlc2VudCBhIHRhc2ssIGJ1dCB1c2lu ZyBhIFByb2MgaXMgc3RyYWlnaHRmb3J3YXJkLg0KDQpIb3dldmVyLCB0byBtYWtlIGEgUHJvYyBz aGFyZWFibGUgdG9kYXksIHNlbGYgbXVzdCBhbHNvIGJlIHNoYXJlYWJsZSwgd2hpY2ggbGVhZHMg dG8gcGF0dGVybnMgbGlrZToNCg0KYGBgcnVieQ0KICBuaWwuaW5zdGFuY2VfZXZhbHsgUHJvYy5u ZXd7IC4uLiB9IH0NCmBgYA0KDQpUaGlzIGlzIG5vaXN5IGFuZCBjcnlwdGljLiBXZSBwcm9wb3Nl IGRlZGljYXRlZCBtZXRob2RzIHRvIGNyZWF0ZSBzaGFyZWFibGUgUHJvYyBvYmplY3RzIGRpcmVj dGx5Lg0KDQoNCiMjIFNwZWNpZmljYXRpb24NCg0KKiBgUmFjdG9yLnNoYXJlYWJsZV9wcm9jKHNl bGY6IG5pbCwgJmJsb2NrKWAgbWFrZXMgYSBwcm9jLg0KKiBgUmFjdG9yLnNoYXJlYWJsZV9sYW1i ZGEoc2VsZjogbmlsLCAmYmxvY2spYCBtYWtlcyBhIGxhbWJkYS4NCg0KQm90aCBtZXRob2RzIGNy ZWF0ZSB0aGUgUHJvYy9sYW1iZGEgd2l0aCB0aGUgZ2l2ZW4gc2VsZiBhbmQgbWFrZSB0aGUgcmVz dWx0aW5nIG9iamVjdCBzaGFyZWFibGUuDQoNCihjaGFuZ2VkKSBBY2Nlc3Npbmcgb3V0ZXIgdmFy aWFibGVzIGFyZSBub3QgYWxsb3dlZC4gQW4gZXJyb3IgaXMgcmFpc2VkIGF0IHRoZSBjcmVhdGlv bi4NCg0KTW9yZSBhYm91dCBvdXRlci12YXJpYWJsZSBoYW5kbGluZyBhcmUgZGlzY3Vzc2VkIGJl bG93Lg0KDQpJbiBvdGhlciB3b3JkcywgZnJvbSB0aGUgcGVyc3BlY3RpdmUgb2YgYSBzaGFyZWFi bGUgUHJvYywgY2FwdHVyZWQgb3V0ZXIgbG9jYWxzIGFyZSByZWFk4oCRb25seSBjb25zdGFudHMu DQoNClRoaXMgcHJvcG9zYWwgZG9lcyBub3QgY2hhbmdlIHRoZSBzZW1hbnRpY3Mgb2YgUmFjdG9y Lm1ha2Vfc2hhcmVhYmxlKCkgaXRzZWxmLg0KDQojIyBEaXNjdXNzaW9uIGFib3V0IG91dGVyIGxv Y2FsIHZhcmlhYmxlcw0KDQpbRmVhdHVyZSAjMjEwMzldIGRpc2N1c3NlcyBob3cgY2FwdHVyZWQg dmFyaWFibGVzIHNob3VsZCBiZSBoYW5kbGVkLg0KSSBwcm9wb3NlIHR3byBvcHRpb25zLg0KDQoj IyMgMC4gRGlzYWxsb3cgYWNjZXNzaW5nIHRvIHRoZSBvdXRlci12YXJpYWJsZXMNCg0KSXQgaXMg c2ltcGxlIGFuZCBubyBjb25mdXNpb24uDQoNCiMjIyAxLiBObyBwcm9ibGVtIHRvIGNoYW5nZSB0 aGUgb3V0ZXItdmFyaWFibGUgc2VtYW50aWNzDQoNCkBFcmVnb24gbm90ZWQgdGhhdCB0aGUgY3Vy cmVudCBiZWhhdmlvciBvZiBgUmFjdG9yLm1ha2Vfc2hhcmVhYmxlKHByb2Nfb2JqKWAgY2FuIHN1 cnByaXNlIHVzZXJzLiBXaGlsZSB0aGF0IGlzIHVuZGVyc3RhbmRhYmxlLCBSdWJ5IGFscmVhZHkg aGFzIHNpbWlsYXIgKnN1cnByaXNlcyouDQoNCkZvciBpbnN0YW5jZToNCg0KYGBgcnVieQ0KUlNw ZWMuZGVzY3JpYmUgJ2ZvbycgZG8NCiAgcCBzZWxmICM9PiBSU3BlYzo6RXhhbXBsZUdyb3Vwczo6 Rm9vDQplbmQNCmBgYA0KDQpIZXJlLCBgc2VsZmAgaXMgaW1wbGljaXRseSByZXBsYWNlZCwgbGlr ZWx5IHZpYSBgaW5zdGFuY2VfZXhlY2AuDQpUaGlzIGNhbiBiZSBzdXJwcmlzaW5nIGlmIG9uZSBk b2VzIG5vdCBrbm93IHNlbGYgY2FuIGNoYW5nZSwgeWV0IGl0IGlzIGFjY2VwdGVkIGluIFJ1Ynku DQpXZSB2aWV3IHRoZSBjdXJyZW50IHNpdHVhdGlvbiBhcyBhIHNpbWlsYXIga2luZCBvZiBzdXJw cmlzZS4NCg0KDQojIyMgMi4gRW5mb3JjZSBhIHN0cmljdCBydWxlIGZvciBub27igJFsZXhpY2Fs IHVzYWdlDQoNClRoZSBkaWZmaWN1bHR5IGlzIHRoYXQgaXQgaXMgaGFyZCB0byBrbm93IHdoaWNo IGJsb2NrIHdpbGwgYmVjb21lIHNoYXJlYWJsZSB1bmxlc3MgaXQgaXMgbGV4aWNhbGx5IHVzYWdl Lg0KDQpgYGBydWJ5DQojICgxKSBPbiB0aGlzIGNvZGUsIGl0IGlzIGNsZWFyIHRoYXQgdGhlIGJs b2NrIHdpbGwgYmUgc2hhcmVhYmxlIGJsb2NrOg0KDQphID0gNDINClJhY3Rvci5zaGFyYWJsZV9w cm9jew0KICBwIGENCn0NCg0KIyAoMikgT24gdGhpcyBjb2RlLCBpdCBpcyBub3QgY2xlYXIgdGhh dCB0aGUgYmxvY2sgYmVjb21lcyBzaGFyYWJsZSBvciBub3QNCmdldCBwYXRoIGRvDQogIHAgYQ0K ZW5kDQoNCiMgKDMpIE9uIHRoaXMgY29kZSwgaXQgaGFzIG5vIHByb2JsZW0gYmVjYXVzZQ0KZ2V0 ICcvaGVsbG8nIGRvDQogICJ3b3JsZCINCmVuZA0KYGBgDQoNClRoZSBpZGVhIGlzIHRvIGFsbG93 IGFjY2Vzc2luZyBjYXB0dXJlZCBvdXRlciB2YXJpYWJsZXMgb25seSBmb3IgbGV4aWNhbGx5IGV4 cGxpY2l0IHVzZXMgb2YgYFJhY3Rvci5zaGFyZWFibGVfcHJvY2AgYXMgaW4gKDEpLCBhbmQgdG8g cmFpc2UgYW4gZXJyb3IgZm9yIG5vbuKAkWxleGljYWwgY2FzZXMgYXMgaW4gKDIpLg0KU28gdGhl IGV4YW1wbGUgKDMpIGlzIGFsbG93ZWQgaWYgdGhlIGJsb2NrIGJlY29tZXMgc2hhcmFibGUgb3Ig bm90Lg0KDQpUaGUgc3RyaWN0IHJ1bGUgaXMgc2FtZSBhcyBgUmFjdG9yLm5ld2AgYmxvY2sgcnVs ZS4gDQoNCiMjIyAzLiBBZGRpbmcgbmV3IHJ1bGVzDQoNCihxdW90ZWQgZnJvbSBodHRwczovL2J1 Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMjE1NTAjbm90ZS03KQ0KDQpSZXR1cm5pbmcgdG8gdGhl IGlzc3VlOiB3ZSB3YW50IGEgd2F5IHRvIGV4cHJlc3MgdGhhdCwgd2l0aGluIGEgYmxvY2ssIGFu IG91dGVyIHZhcmlhYmxlIGlzIHNoYWRvd2VkIHdoaWxlIHByZXNlcnZpbmcgaXRzIGN1cnJlbnQg dmFsdWUuDQoNCldlIGFscmVhZHkgaGF2ZSBzeW50YXggdG8gc2hhZG93IGFuIG91dGVyIHZhcmlh YmxlIHVzaW5nIGB8aTsgYXxgLCB3aGVyZSBgYWAgaXMgc2hhZG93ZWQgaW4gdGhlIGJsb2NrIGFu ZCBpbml0aWFsaXplZCB0byBgbmlsYCAoanVzdCBsaWtlIGEgbm9ybWFsIGxvY2FsIHZhcmlhYmxl KS4NCg0KYGBgcnVieQ0KYSA9IDQyDQpwciA9IHByb2N7fDthfCBwIGF9DQphID0gNDMNCnByLmNh bGwgIz0+IG5pbA0KYGBgDQoNCldoYXQgaWYgd2UgaW5zdGVhZCBpbml0aWFsaXplZCB0aGUgc2hh ZG93ZWQgdmFyaWFibGUgdG8gdGhlIG91dGVyIHZhcmlhYmxlJ3MgY3VycmVudCB2YWx1ZT8NCg0K YGBgcnVieQ0KYSA9IDQyDQpwciA9IHByb2N7fDthfCBwIGF9DQphID0gNDMNCnByLmNhbGwgIz0+ IDQyDQpgYGANCg0KRm9yIGV4YW1wbGUsIHdlIGNhbiB3cml0ZSB0aGUgcG9ydCBleGFtcGxlIGxp a2UgdGhhdDoNCg0KYGBgcnVieQ0KDQpwb3J0ID0gUmFjdG9yOjpQb3J0Lm5ldw0KUmFjdG9yLm5l dyBkbyB8O3BvcnR8DQogIHBvcnQgPDwgLi4uDQplbmQNCmBgYA0KDQphbmQgaXQgaXMgYmV0dGVy IChzaG9ydGVyKS4NCg0KTWF5YmUgb25seSBmZXcgcGVvcGxlIGtub3cgdGhpcyBzcGVjIGFuZCBJ IGNoZWNrZWQgdGhhdCB0aGVyZSBhcmUgZmV3IGxpbmVzIGluIHJ1YnlnZW1zICg3OCBjYXNlcyBp biAzTSBmaWxlcykoKjEpLg0KU28gSSB0aGluayB0aGVyZSBpcyBhIGZldyBjb21wYXRpYmlsaXR5 IGltcGFjdC4NCg0KDQoNCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBydWJ5LWNvcmUg bWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1YnNjcmli ZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3JnCiBydWJ5 LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMvbGlzdHMvcnVi eS1jb3JlLm1sLnJ1YnktbGFuZy5vcmcvCg==