[#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:123087] [Ruby Feature#21550] Ractor.sharable_proc/sharable_lambda to make sharable Proc object
From:
"ko1 (Koichi Sasada) via ruby-core" <ruby-core@...>
Date:
2025-08-27 18:15:42 UTC
List:
ruby-core #123087
SXNzdWUgIzIxNTUwIGhhcyBiZWVuIHVwZGF0ZWQgYnkga28xIChLb2ljaGkgU2FzYWRhKS4NCg0K DQpJIG1hZGUgYSBwYXRjaCB0byBkaXNhbGxvdyBhbnkgb3V0ZXIgdmFyaWFibGVzIGFuZCBJIGZv dW5kIHRoYXQgSSBjYW4ndCB3cml0ZSBvc3RydWN0IGNhc2U6DQoNCmBgYHJ1YnkNCiMgb3N0cnVj dC0wLjYuMy9saWIvb3N0cnVjdC5yYg0KDQogIGRlZiBuZXdfb3N0cnVjdF9tZW1iZXIhKG5hbWUp ICMgOm5vZG9jOg0KICAgIHVubGVzcyBAdGFibGUua2V5PyhuYW1lKSB8fCBpc19tZXRob2RfcHJv dGVjdGVkIShuYW1lKQ0KICAgICAgaWYgZGVmaW5lZD8oOjpSYWN0b3Iuc2hhcmVhYmxlX3Byb2Mp DQogICAgICAgIGdldHRlcl9wcm9jID0gUmFjdG9yLnNoYXJlYWJsZV9wcm9jIHsgQHRhYmxlW25h bWVdIH0NCiAgICAgICAgc2V0dGVyX3Byb2MgPSBSYWN0b3Iuc2hhcmVhYmxlX3Byb2Mge3x4fCBA dGFibGVbbmFtZV0gPSB4fQ0KICAgICAgZWxzaWYgZGVmaW5lZD8oOjpSYWN0b3IpDQogICAgICAg IGdldHRlcl9wcm9jID0gbmlsLmluc3RhbmNlX2V2YWx7IFByb2MubmV3IHsgQHRhYmxlW25hbWVd IH0gfQ0KICAgICAgICBzZXR0ZXJfcHJvYyA9IG5pbC5pbnN0YW5jZV9ldmFseyBQcm9jLm5ldyB7 fHh8IEB0YWJsZVtuYW1lXSA9IHh9IH0NCiAgICAgICAgOjpSYWN0b3IubWFrZV9zaGFyZWFibGUo Z2V0dGVyX3Byb2MpDQogICAgICAgIDo6UmFjdG9yLm1ha2Vfc2hhcmVhYmxlKHNldHRlcl9wcm9j KQ0KICAgICAgZWxzZQ0KICAgICAgICBnZXR0ZXJfcHJvYyA9IFByb2MubmV3IHsgQHRhYmxlW25h bWVdIH0NCiAgICAgICAgc2V0dGVyX3Byb2MgPSBQcm9jLm5ldyB7fHh8IEB0YWJsZVtuYW1lXSA9 IHh9DQogICAgICBlbmQNCiAgICAgIGRlZmluZV9zaW5nbGV0b25fbWV0aG9kIShuYW1lLCAmZ2V0 dGVyX3Byb2MpDQogICAgICBkZWZpbmVfc2luZ2xldG9uX21ldGhvZCEoIiN7bmFtZX09IiwgJnNl dHRlcl9wcm9jKQ0KICAgIGVuZA0KICBlbmQNCmBgYA0KDQpTbyBJIHRoaW5rIGl0IGlzIG5lZWRl ZCB0byBhbGxvdyB0aGUgd2F5IHRvIGFjY2VzcyBvdXRlciB2YXJpYWJsZXMuDQpPcHRpb24gMiAo YWxsb3cgYWNjZXNzZXMgb25seSBvbiBsZXhpY2FsIGJsb2NrcykgaXMgcmVqZWN0ZWQgYnkgTWF0 eiwgc28gSSB3YW50IHRvIGludHJvZHVjZSAxIG9yIDMuDQoxIGlzIGJldHRlciBmb3IgbWUuLi4N Cg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAjMjE1 NTA6IFJhY3Rvci5zaGFyYWJsZV9wcm9jL3NoYXJhYmxlX2xhbWJkYSB0byBtYWtlIHNoYXJhYmxl IFByb2Mgb2JqZWN0DQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMjE1NTAjY2hh bmdlLTExNDQwMQ0KDQoqIEF1dGhvcjoga28xIChLb2ljaGkgU2FzYWRhKQ0KKiBTdGF0dXM6IE9w ZW4NCiogQXNzaWduZWU6IGtvMSAoS29pY2hpIFNhc2FkYSkNCiogVGFyZ2V0IHZlcnNpb246IDMu NQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KTGV0J3MgaW50cm9k dWNlIGEgd2F5IHRvIG1ha2UgYSBzaGFyYWJsZSBQcm9jLg0KDQoqIGBSYWN0b3Iuc2hhcmVhYmxl X3Byb2Moc2VsZjogbmlsLCAmYmxvY2spYCBtYWtlcyBwcm9jLg0KKiBgUmFjdG9yLnNoYXJlYWJs ZV9sYW1iZGEoc2VsZjogbmlsLCAmYmxvY2spYCBtYWtlcyBsYW1iZGEuDQoNClNlZSBhbHNvOiBo dHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMjEwMzkNCg0KIyMgQmFja2dyb3VuZA0K DQojIyMgTW90aXZhdGlvbg0KDQpCZWluZyBhYmxlIHRvIGNyZWF0ZSBhIHNoYXJlYWJsZSBQcm9j IGlzIGltcG9ydGFudCBmb3IgUmFjdG9ycy4gRm9yIGV4YW1wbGUsIHdlIG9mdGVuIHdhbnQgdG8g c2VuZCBhIHRhc2sgdG8gYW5vdGhlciBSYWN0b3I6DQoNCmBgYHJ1YnkNCndvcmtlciA9IFJhY3Rv ci5uZXcgZG8NCiAgd2hpbGUgdGFzayA9IFJhY3Rvci5yZWNlaXZlDQogICAgdGFzay5jYWxsKC4u LikNCiAgZW5kDQplbmQNCg0KdGFzayA9IChzaGFyYWJsZV9wcm9jKQ0Kd29ya2VyIDw8IHRhc2sN Cg0KdGFzayA9IChzaGFyYWJsZV9wcm9jKQ0Kd29ya2VyIDw8IHRhc2sNCg0KdGFzayA9IChzaGFy YWJsZV9wcm9jKQ0Kd29ya2VyIDw8IHRhc2sNCmBgYA0KDQpUaGVyZSBhcmUgdmFyaW91cyB3YXlz IHRvIHJlcHJlc2VudCBhIHRhc2ssIGJ1dCB1c2luZyBhIFByb2MgaXMgc3RyYWlnaHRmb3J3YXJk Lg0KDQpIb3dldmVyLCB0byBtYWtlIGEgUHJvYyBzaGFyZWFibGUgdG9kYXksIHNlbGYgbXVzdCBh bHNvIGJlIHNoYXJlYWJsZSwgd2hpY2ggbGVhZHMgdG8gcGF0dGVybnMgbGlrZToNCg0KYGBgcnVi eQ0KICBuaWwuaW5zdGFuY2VfZXZhbHsgUHJvYy5uZXd7IC4uLiB9IH0NCmBgYA0KDQpUaGlzIGlz IG5vaXN5IGFuZCBjcnlwdGljLiBXZSBwcm9wb3NlIGRlZGljYXRlZCBtZXRob2RzIHRvIGNyZWF0 ZSBzaGFyZWFibGUgUHJvYyBvYmplY3RzIGRpcmVjdGx5Lg0KDQoNCiMjIFNwZWNpZmljYXRpb24N Cg0KKiBgUmFjdG9yLnNoYXJlYWJsZV9wcm9jKHNlbGY6IG5pbCwgJmJsb2NrKWAgbWFrZXMgYSBw cm9jLg0KKiBgUmFjdG9yLnNoYXJlYWJsZV9sYW1iZGEoc2VsZjogbmlsLCAmYmxvY2spYCBtYWtl cyBhIGxhbWJkYS4NCg0KQm90aCBtZXRob2RzIGNyZWF0ZSB0aGUgUHJvYy9sYW1iZGEgd2l0aCB0 aGUgZ2l2ZW4gc2VsZiBhbmQgbWFrZSB0aGUgcmVzdWx0aW5nIG9iamVjdCBzaGFyZWFibGUuDQoN CihjaGFuZ2VkKSBBY2Nlc3Npbmcgb3V0ZXIgdmFyaWFibGVzIGFyZSBub3QgYWxsb3dlZC4gQW4g ZXJyb3IgaXMgcmFpc2VkIGF0IHRoZSBjcmVhdGlvbi4NCg0KTW9yZSBhYm91dCBvdXRlci12YXJp YWJsZSBoYW5kbGluZyBhcmUgZGlzY3Vzc2VkIGJlbG93Lg0KDQpJbiBvdGhlciB3b3JkcywgZnJv bSB0aGUgcGVyc3BlY3RpdmUgb2YgYSBzaGFyZWFibGUgUHJvYywgY2FwdHVyZWQgb3V0ZXIgbG9j YWxzIGFyZSByZWFk4oCRb25seSBjb25zdGFudHMuDQoNClRoaXMgcHJvcG9zYWwgZG9lcyBub3Qg Y2hhbmdlIHRoZSBzZW1hbnRpY3Mgb2YgUmFjdG9yLm1ha2Vfc2hhcmVhYmxlKCkgaXRzZWxmLg0K DQojIyBEaXNjdXNzaW9uIGFib3V0IG91dGVyIGxvY2FsIHZhcmlhYmxlcw0KDQpbRmVhdHVyZSAj MjEwMzldIGRpc2N1c3NlcyBob3cgY2FwdHVyZWQgdmFyaWFibGVzIHNob3VsZCBiZSBoYW5kbGVk Lg0KSSBwcm9wb3NlIHR3byBvcHRpb25zLg0KDQojIyMgMC4gRGlzYWxsb3cgYWNjZXNzaW5nIHRv IHRoZSBvdXRlci12YXJpYWJsZXMNCg0KSXQgaXMgc2ltcGxlIGFuZCBubyBjb25mdXNpb24uDQoN CiMjIyAxLiBObyBwcm9ibGVtIHRvIGNoYW5nZSB0aGUgb3V0ZXItdmFyaWFibGUgc2VtYW50aWNz DQoNCkBFcmVnb24gbm90ZWQgdGhhdCB0aGUgY3VycmVudCBiZWhhdmlvciBvZiBgUmFjdG9yLm1h a2Vfc2hhcmVhYmxlKHByb2Nfb2JqKWAgY2FuIHN1cnByaXNlIHVzZXJzLiBXaGlsZSB0aGF0IGlz IHVuZGVyc3RhbmRhYmxlLCBSdWJ5IGFscmVhZHkgaGFzIHNpbWlsYXIgKnN1cnByaXNlcyouDQoN CkZvciBpbnN0YW5jZToNCg0KYGBgcnVieQ0KUlNwZWMuZGVzY3JpYmUgJ2ZvbycgZG8NCiAgcCBz ZWxmICM9PiBSU3BlYzo6RXhhbXBsZUdyb3Vwczo6Rm9vDQplbmQNCmBgYA0KDQpIZXJlLCBgc2Vs ZmAgaXMgaW1wbGljaXRseSByZXBsYWNlZCwgbGlrZWx5IHZpYSBgaW5zdGFuY2VfZXhlY2AuDQpU aGlzIGNhbiBiZSBzdXJwcmlzaW5nIGlmIG9uZSBkb2VzIG5vdCBrbm93IHNlbGYgY2FuIGNoYW5n ZSwgeWV0IGl0IGlzIGFjY2VwdGVkIGluIFJ1YnkuDQpXZSB2aWV3IHRoZSBjdXJyZW50IHNpdHVh dGlvbiBhcyBhIHNpbWlsYXIga2luZCBvZiBzdXJwcmlzZS4NCg0KDQojIyMgMi4gRW5mb3JjZSBh IHN0cmljdCBydWxlIGZvciBub27igJFsZXhpY2FsIHVzYWdlDQoNClRoZSBkaWZmaWN1bHR5IGlz IHRoYXQgaXQgaXMgaGFyZCB0byBrbm93IHdoaWNoIGJsb2NrIHdpbGwgYmVjb21lIHNoYXJlYWJs ZSB1bmxlc3MgaXQgaXMgbGV4aWNhbGx5IHVzYWdlLg0KDQpgYGBydWJ5DQojICgxKSBPbiB0aGlz IGNvZGUsIGl0IGlzIGNsZWFyIHRoYXQgdGhlIGJsb2NrIHdpbGwgYmUgc2hhcmVhYmxlIGJsb2Nr Og0KDQphID0gNDINClJhY3Rvci5zaGFyYWJsZV9wcm9jew0KICBwIGENCn0NCg0KIyAoMikgT24g dGhpcyBjb2RlLCBpdCBpcyBub3QgY2xlYXIgdGhhdCB0aGUgYmxvY2sgYmVjb21lcyBzaGFyYWJs ZSBvciBub3QNCmdldCBwYXRoIGRvDQogIHAgYQ0KZW5kDQoNCiMgKDMpIE9uIHRoaXMgY29kZSwg aXQgaGFzIG5vIHByb2JsZW0gYmVjYXVzZQ0KZ2V0ICcvaGVsbG8nIGRvDQogICJ3b3JsZCINCmVu ZA0KYGBgDQoNClRoZSBpZGVhIGlzIHRvIGFsbG93IGFjY2Vzc2luZyBjYXB0dXJlZCBvdXRlciB2 YXJpYWJsZXMgb25seSBmb3IgbGV4aWNhbGx5IGV4cGxpY2l0IHVzZXMgb2YgYFJhY3Rvci5zaGFy ZWFibGVfcHJvY2AgYXMgaW4gKDEpLCBhbmQgdG8gcmFpc2UgYW4gZXJyb3IgZm9yIG5vbuKAkWxl eGljYWwgY2FzZXMgYXMgaW4gKDIpLg0KU28gdGhlIGV4YW1wbGUgKDMpIGlzIGFsbG93ZWQgaWYg dGhlIGJsb2NrIGJlY29tZXMgc2hhcmFibGUgb3Igbm90Lg0KDQpUaGUgc3RyaWN0IHJ1bGUgaXMg c2FtZSBhcyBgUmFjdG9yLm5ld2AgYmxvY2sgcnVsZS4gDQoNCiMjIyAzLiBBZGRpbmcgbmV3IHJ1 bGVzDQoNCihxdW90ZWQgZnJvbSBodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMjE1 NTAjbm90ZS03KQ0KDQpSZXR1cm5pbmcgdG8gdGhlIGlzc3VlOiB3ZSB3YW50IGEgd2F5IHRvIGV4 cHJlc3MgdGhhdCwgd2l0aGluIGEgYmxvY2ssIGFuIG91dGVyIHZhcmlhYmxlIGlzIHNoYWRvd2Vk IHdoaWxlIHByZXNlcnZpbmcgaXRzIGN1cnJlbnQgdmFsdWUuDQoNCldlIGFscmVhZHkgaGF2ZSBz eW50YXggdG8gc2hhZG93IGFuIG91dGVyIHZhcmlhYmxlIHVzaW5nIGB8aTsgYXxgLCB3aGVyZSBg YWAgaXMgc2hhZG93ZWQgaW4gdGhlIGJsb2NrIGFuZCBpbml0aWFsaXplZCB0byBgbmlsYCAoanVz dCBsaWtlIGEgbm9ybWFsIGxvY2FsIHZhcmlhYmxlKS4NCg0KYGBgcnVieQ0KYSA9IDQyDQpwciA9 IHByb2N7fDthfCBwIGF9DQphID0gNDMNCnByLmNhbGwgIz0+IG5pbA0KYGBgDQoNCldoYXQgaWYg d2UgaW5zdGVhZCBpbml0aWFsaXplZCB0aGUgc2hhZG93ZWQgdmFyaWFibGUgdG8gdGhlIG91dGVy IHZhcmlhYmxlJ3MgY3VycmVudCB2YWx1ZT8NCg0KYGBgcnVieQ0KYSA9IDQyDQpwciA9IHByb2N7 fDthfCBwIGF9DQphID0gNDMNCnByLmNhbGwgIz0+IDQyDQpgYGANCg0KRm9yIGV4YW1wbGUsIHdl IGNhbiB3cml0ZSB0aGUgcG9ydCBleGFtcGxlIGxpa2UgdGhhdDoNCg0KYGBgcnVieQ0KDQpwb3J0 ID0gUmFjdG9yOjpQb3J0Lm5ldw0KUmFjdG9yLm5ldyBkbyB8O3BvcnR8DQogIHBvcnQgPDwgLi4u DQplbmQNCmBgYA0KDQphbmQgaXQgaXMgYmV0dGVyIChzaG9ydGVyKS4NCg0KTWF5YmUgb25seSBm ZXcgcGVvcGxlIGtub3cgdGhpcyBzcGVjIGFuZCBJIGNoZWNrZWQgdGhhdCB0aGVyZSBhcmUgZmV3 IGxpbmVzIGluIHJ1YnlnZW1zICg3OCBjYXNlcyBpbiAzTSBmaWxlcykoKjEpLg0KU28gSSB0aGlu ayB0aGVyZSBpcyBhIGZldyBjb21wYXRpYmlsaXR5IGltcGFjdC4NCg0KDQoNCg0KDQoNCi0tIA0K aHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCiBydWJ5LWNvcmUgbWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBt bC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29y ZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3JnCiBydWJ5LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1 YnktbGFuZy5vcmcvbWFpbG1hbjMvbGlzdHMvcnVieS1jb3JlLm1sLnJ1YnktbGFuZy5vcmcvCg==