[#120465] [Ruby master Bug#20998] rb_str_locktmp() changes flags of frozen strings and string literals — "Eregon (Benoit Daloze) via ruby-core" <ruby-core@...>
Issue #20998 has been reported by Eregon (Benoit Daloze).
17 messages
2025/01/03
[ruby-core:120468] [Ruby master Feature#20999] Add RubyVM object source support
From:
"kddnewton (Kevin Newton) via ruby-core" <ruby-core@...>
Date:
2025-01-03 17:37:39 UTC
List:
ruby-core #120468
SXNzdWUgIzIwOTk5IGhhcyBiZWVuIHVwZGF0ZWQgYnkga2RkbmV3dG9uIChLZXZpbiBOZXd0b24p Lg0KDQoNClByb2MsIE1ldGhvZCwgYW5kIFVuYm91bmRNZXRob2QgYWxsIHJlc3BvbmQgdG8gYCNz b3VyY2VfbG9jYXRpb25gIGFscmVhZHksIHNvIHRoZXJlIGlzIHByaW9yIGFydCBoZXJlIHdlIGNh biBsZWFuIG9uLiBQZXJzb25hbGx5IEknZCByYXRoZXIgc2VlIHRoYXQgbWV0aG9kIGV4cGFuZGVk IHRvIGluY2x1ZGUgY29sdW1ucyBhbmQgZW5kIGxpbmUsIGJlY2F1c2UgdGhhdCBzaW1wbGlmaWVz IHRoaXMgd2hvbGUgZGlzY3Vzc2lvbi4gRnVydGhlciBlbmhhbmNpbmcgYFJ1YnlWTWAgd2hlbiBp dCBpcyBwcmltYXJpbHkgbWVhbnQgZm9yIGRlYnVnZ2luZyBzZWVtcyBsaWtlIG5vdCBhIGdyZWF0 IGRpcmVjdGlvbi4NCg0KSWYgeW91IF9kb18gaGF2ZSB0aGUgY29sdW1ucyBhbmQgZW5kIGxpbmUs IHRoZW4gaXQncyBwb3NzaWJsZSB0byByZWFkIHRoZSBmaWxlIGFuZCBleHRyYWN0IHRoYXQgc291 cmNlIHlvdSdyZSB0YWxraW5nIGFib3V0LiBJZiBgUnVieVZNYCBpc24ndCBkZWZpbmVkLCB5b3Ug Y2FuIHVzZSBQcmlzbSB0byBkbyBhIHNsaWdodGx5IGJldHRlciBlZHVjYXRlZCBndWVzcy4gSGVy ZSdzIGEgc2NyaXB0IHRoYXQgY29tYmluZXMgYm90aCwgc28gdGhhdCBpdCdzIHBvcnRhYmxlIHRv IG90aGVyIFJ1YnkgaW1wbGVtZW50YXRpb25zOg0KDQpgYGBydWJ5DQpkZWYgcHJpc21fY2FsbGFi bGUoY2FsbGFibGUsIGFic29sdXRlX3BhdGgsIGxpbmVubykNCiAgcmVxdWlyZSAicHJpc20iDQog IHJvb3QgPSBQcmlzbS5wYXJzZV9maWxlKGFic29sdXRlX3BhdGgpLnZhbHVlDQoNCiAgY2FzZSBj YWxsYWJsZQ0KICB3aGVuIE1ldGhvZCwgVW5ib3VuZE1ldGhvZA0KICAgIHJvb3QuYnJlYWR0aF9m aXJzdF9zZWFyY2ggZG8gfG5vZGV8DQogICAgICBub2RlLnN0YXJ0X2xpbmUgPT0gbGluZW5vICYm IG5vZGUuaXNfYT8oUHJpc206OkRlZk5vZGUpICYmDQogICAgICAgIG5vZGUubmFtZSA9PSBjYWxs YWJsZS5uYW1lDQogICAgZW5kDQogIHdoZW4gUHJvYw0KICAgIHJvb3QuYnJlYWR0aF9maXJzdF9z ZWFyY2ggZG8gfG5vZGV8DQogICAgICBub2RlLnN0YXJ0X2xpbmUgPT0gbGluZW5vICYmICgNCiAg ICAgICAgKG5vZGUuaXNfYT8oUHJpc206OkNhbGxOb2RlKSAmJiBub2RlLm5hbWUgPT0gOnByb2Mp IHx8DQogICAgICAgICAgbm9kZS5pc19hPyhQcmlzbTo6TGFtYmRhTm9kZSkNCiAgICAgICkNCiAg ICBlbmQNCiAgZW5kDQplbmQNCg0KZGVmIHNvdXJjZV9sb2NhdGlvbihjYWxsYWJsZSkNCiAgaWYg ZGVmaW5lZD8oUnVieVZNOjpJbnN0cnVjdGlvblNlcXVlbmNlKQ0KICAgIGlzZXEgPSBSdWJ5Vk06 Okluc3RydWN0aW9uU2VxdWVuY2Uub2YoY2FsbGFibGUpDQogICAgW2lzZXEuYWJzb2x1dGVfcGF0 aCwgKmlzZXEudG9fYVs0XVs6Y29kZV9sb2NhdGlvbl1dDQogIGVsc2UNCiAgICBhYnNvbHV0ZV9w YXRoLCBsaW5lbm8gPSBjYWxsYWJsZS5zb3VyY2VfbG9jYXRpb24NCiAgICBmb3VuZCA9IHByaXNt X2NhbGxhYmxlKGNhbGxhYmxlLCBhYnNvbHV0ZV9wYXRoLCBsaW5lbm8pDQogICAgW2Fic29sdXRl X3BhdGgsIGZvdW5kLnN0YXJ0X2xpbmUsIGZvdW5kLnN0YXJ0X2NvbHVtbiwgZm91bmQuZW5kX2xp bmUsIGZvdW5kLmVuZF9jb2x1bW5dIGlmIGZvdW5kDQogIGVuZA0KZW5kDQoNCmRlZiBzb3VyY2Uo Y2FsbGFibGUpDQogIGxvY2F0aW9uID0gc291cmNlX2xvY2F0aW9uKGNhbGxhYmxlKQ0KICByZXR1 cm4gbmlsIHVubGVzcyBsb2NhdGlvbg0KDQogIGZpbGVwYXRoLCBzdGFydF9saW5lLCBzdGFydF9j b2x1bW4sIGVuZF9saW5lLCBlbmRfY29sdW1uID0gbG9jYXRpb24NCiAgbGluZXMgPSBGaWxlLnJl YWQoZmlsZXBhdGgpLmxpbmVzWyhzdGFydF9saW5lIC0gMSkuLihlbmRfbGluZSAtIDEpXQ0KDQog IGxpbmVzWy0xXSA9IGxpbmVzWy0xXS5ieXRlc2xpY2UoMC4uLmVuZF9jb2x1bW4pDQogIGxpbmVz WzBdID0gbGluZXNbMF0uYnl0ZXNsaWNlKHN0YXJ0X2NvbHVtbi4uLTEpDQogIGxpbmVzLmpvaW4N CmVuZA0KDQpjbGFzcyBGb28NCiAgZGVmIGJhcjsgZW5kDQplbmQNCg0KcCBzb3VyY2UoLT4geyBP YmplY3QubmV3IH0pDQpwIHNvdXJjZShwcm9jIHsgT2JqZWN0Lm5ldyB9KQ0KcCBzb3VyY2UoRm9v Lm5ldy5tZXRob2QoOmJhcikpDQpwIHNvdXJjZShGb28uaW5zdGFuY2VfbWV0aG9kKDpiYXIpKQ0K YGBgDQoNClRoZSBQcmlzbSBwYXJ0IHdvbid0IHdvcmsgaW4gd2VpcmQgZWRnZSBjYXNlcyBsaWtl IGRlZmluaW5nIGEgbWV0aG9kIHdpdGggdGhlIHNhbWUgbmFtZSBvbiB0aGUgc2FtZSBsaW5lLCBs aWtlIGBkZWYgZm9vOyBlbmQ7IGRlZiBmb287IGVuZGAsIGJ1dCB0aG9zZSBjYXNlcyBzaG91bGQg YmUgZmV3IGFuZCBmYXIgYmV0d2Vlbi4gTm90ZSB0aGF0IGlmIGAjc291cmNlX2xvY2F0aW9uYCB3 ZXJlIHRvIGJlIGVuaGFuY2VkLCBpdCB3b3VsZG4ndCBiZSBuZWNlc3NhcnkgdG8gcHVsbCBpbiBQ cmlzbSBhdCBhbGwgaGVyZQ0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQpGZWF0dXJlICMyMDk5OTogQWRkIFJ1YnlWTSBvYmplY3Qgc291cmNlIHN1cHBvcnQNCmh0 dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8yMDk5OSNjaGFuZ2UtMTExMjU0DQoNCiog QXV0aG9yOiBia3VobG1hbm4gKEJyb29rZSBLdWhsbWFubikNCiogU3RhdHVzOiBPcGVuDQotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpIZWxsby4g8J+Riw0KDQpJJ2Qg bGlrZSB0byBwcm9wb3NlIGFkZGluZyB0aGUgYWJpbGl0eSB0byBhY3F1aXJlIHRoZSBzb3VyY2Ug b2YgYW55IG9iamVjdCB3aXRoaW4gbWVtb3J5IHZpYSB0aGUgUnVieVZNLiBBIGNvdXBsZSB1c2Ug Y2FzZXMgY29tZSB0byBtaW5kOg0KDQotIFRoaXMgd291bGQgc2ltcGxpZnkgdGhlIFtNZXRob2Qg U291cmNlXShodHRwczovL2dpdGh1Yi5jb20vYmFuaXN0ZXIvbWV0aG9kX3NvdXJjZSkgZ2VtIGlt cGxlbWVudGF0aW9uIGFuZCBwb3NzaWJseSBlbGltaW5hdGUgdGhlIG5lZWQgZm9yIHRoZSBnZW0u DQotIEFub3RoZXIgdXNlIGNhc2UgaXMgdGhpcyBhbGxvd3MgRFNMcywgbGlrZSBbSW5pdGFibGVd KGh0dHBzOi8vYWxjaGVtaXN0cy5pby9wcm9qZWN0cy9pbml0YWJsZSksIHRvIGVsZWdhbnRseSBh Y3F1aXJlIHRoZSBzb3VyY2UgY29kZSBvZiBvYmplY3RzIGFuZC9vciBmdW5jdGlvbnMgKGluIG15 IGNhc2UsIEknbSBtb3N0IGludGVyZXN0ZWQgaW4gdGhlIGxhenkgZXZhbHVhdGlvbiBvZiBmdW5j dGlvbiBib2RpZXMpLg0KDQog4pqg77iPIEknbSBhbHNvIGF3YXJlIHRoYXQgdGhlIFtSdWJ5Vk1d KGh0dHBzOi8vZG9jcy5ydWJ5LWxhbmcub3JnL2VuL21hc3Rlci9SdWJ5Vk0uaHRtbCkgZG9jdW1l bnRhdGlvbiBjbGVhcmx5IHN0YXRzIHRoaXMgaXNuJ3QgbWVhbnQgZm9yIHByb2R1Y3Rpb24gdXNl Og0KDQo+IFRoaXMgbW9kdWxlIGlzIGZvciB2ZXJ5IGxpbWl0ZWQgcHVycG9zZXMsIHN1Y2ggYXMg ZGVidWdnaW5nLCBwcm90b3R5cGluZywgYW5kIHJlc2VhcmNoLiBOb3JtYWwgdXNlcnMgbXVzdCBu b3QgdXNlIGl0LiBUaGlzIG1vZHVsZSBpcyBub3QgcG9ydGFibGUgYmV0d2VlbiBSdWJ5IGltcGxl bWVudGF0aW9ucy4NCg0KLi4uYnV0IEknZCBsaWtlIHRvIGVudGVydGFpbiB0aGlzIHByb3Bvc2Vk IGZlYXR1cmUgcmVxdWVzdCwgcmVnYXJkbGVzcy4gSGVyZSdzIGFuIGV4YW1wbGUsIHVzaW5nIHRo ZSBhZm9yZW1lbnRpb25lZCBbSW5pdGFibGVdKGh0dHBzOi8vYWxjaGVtaXN0cy5pby9wcm9qZWN0 cy9pbml0YWJsZSkgZ2VtLCB3aGVyZSBJIHVzZSB0aGUgUnVieVZNIHRvIG9idGFpbiB0aGUgc291 cmNlIG9mIGEgYFByb2NgOg0KDQoNCmBgYCBydWJ5DQpjbGFzcyBEZW1vDQogIGluY2x1ZGUgSW5p dGFibGVbJWlbcmVxIG5hbWVdLCBbOmtleSwgOmRlZmF1bHQsIHByb2MgeyBPYmplY3QubmV3IH1d XQ0KZW5kDQoNCnB1dHMgRGVtby5uZXcoImRlbW8iKS5pbnNwZWN0DQojPERlbW86MHgwMDAwMDAw MTQzNDlhNDAwIEBuYW1lPSJkZW1vIiwgQGRlZmF1bHQ9IzxPYmplY3Q6MHgwMDAwMDAwMTQzNDlh MzYwPj4NCmBgYA0KDQpXaXRoIHRoZSBhYm92ZSwgSSdtIGxhemlseSBvYnRhaW5pbmcgdGhlIHNv dXJjZSBjb2RlIG9mIHRoZSBgUHJvY2AgaW4gb3JkZXIgdG8gZHluYW1pY2FsbHkgZGVmaW5lIHRo ZSBgI2luaXRpYWxpemVgIG1ldGhvZCAoZXNzZW50aWFsbHkgYSBgbW9kdWxlX2V2YWxgIG9uIGBE ZW1vYCwgc2ltcGx5IHNwZWFraW5nKSB1c2luZyBhIG5lc3RlZCBhcnJheSBhcyBzcGVjaWZpZWQg YnkgW01ldGhvZCNwYXJhbWV0ZXJzXShodHRwczovL2RvY3MucnVieS1sYW5nLm9yZy9lbi9tYXN0 ZXIvTWV0aG9kLmh0bWwjbWV0aG9kLWktcGFyYW1ldGVycykgYmVjYXVzZSBJIGRvbid0IHdhbnQg YW4gaW5zdGFuY2Ugb2YgYE9iamVjdGAgdW50aWwgaW5pdGlhbGl6YXRpb24gaXMgbmVjZXNzYXJ5 Lg0KDQoNCiMjIENvbnRleHQNCg0KUHJpb3IgdG8gdGhlIHJlbGVhc2Ugb2YgUnVieSAzLjQuMCwg eW91IGNvdWxkIGRvIHRoaXM6DQoNCmBgYCBydWJ5DQpmdW5jdGlvbiA9IHByb2MgeyBPYmplY3Qu bmV3IH0NCmFzdCA9IFJ1YnlWTTo6QWJzdHJhY3RTeW50YXhUcmVlLm9mIGZ1bmN0aW9uDQphc3Qu Y2hpbGRyZW4ubGFzdC5zb3VyY2UNCg0KIyAiT2JqZWN0Lm5ldyINCmBgYA0KDQpVbmZvcnR1bmF0 ZWx5LCB3aXRoIHRoZSByZWxlYXNlIG9mIFJ1YnkgMy40LjAgLS0gd2hpY2ggZGVmYXVsdHMgdG8g dGhlIFtQcmlzbV0oaHR0cHM6Ly9ydWJ5LmdpdGh1Yi5pby9wcmlzbS9yYi9pbmRleC5odG1sKSBw YXJzZXIgLS0gdGhlIGFiaWxpdHkgdG8gYWNxdWlyZSBzb3VyY2UgY29kZSBpcyBhIGJpdCBtb3Jl IGNvbXBsaWNhdGVkLiBGb3IgZXhhbXBsZSwgdG8gYWNoaWV2ZSB3aGF0IGlzIHNob3duIGFib3Zl LCB5b3UgaGF2ZSB0byBkbyB0aGlzOg0KDQpgYGAgcnVieQ0KZnVuY3Rpb24gPSBwcm9jIHsgT2Jq ZWN0Lm5ldyB9DQpSdWJ5Vk06Okluc3RydWN0aW9uU2VxdWVuY2Uub2YoZnVuY3Rpb24pLnNjcmlw dF9saW5lcw0KDQojIFsNCiMgICAiZnVuY3Rpb24gPSBwcm9jIHsgT2JqZWN0Lm5ldyB9XG4iLA0K IyAgICJSdWJ5Vk06Okluc3RydWN0aW9uU2VxdWVuY2Uub2YoZnVuY3Rpb24pLnNjcmlwdF9saW5l c1xuIiwNCiMgICAiXG4iLA0KIyAgICIiDQojIF0NCmBgYA0KDQpEZWZpbml0ZWx5IGRvYWJsZSwg YnV0IG5vdyByZXF1aXJlcyBtb3JlIHdvcmsgdG8gcGx1Y2sgYCJPYmplY3QubmV3ImAgZnJvbSB0 aGUgYm9keSBvZiB0aGUgYFByb2NgLiBPbmUgc29sdXRpb24gaXMgdG8gdXNlIGEgcmVndWxhciBl eHByZXNzaW9uIHRvIGZpbmQgYW5kIGV4dHJhY3QgdGhlIGZpcnN0IGxpbmUgb2YgdGhlIHJlc3Vs dC4gRXhhbXBsZToNCg0KYGBgIHJ1YnkNCi8NCiAgcHJvYyAgICAgICAgICAjIFByb2Mgc3RhdGVt ZW50Lg0KICBccyogICAgICAgICAgICMgT3B0aW9uYWwgc3BhY2UuDQogIFx7ICAgICAgICAgICAg IyBCbG9jayBvcGVuLg0KICAoPzxib2R5Pi4qPykgICMgU291cmNlIGNvZGUgYm9keS4NCiAgXH0g ICAgICAgICAgICAjIEJsb2NrIGNsb3NlLg0KL3gNCmBgYA0KDQpEZWZpbml0ZWx5IGRvZXNuJ3Qg YWNjb3VudCBmb3IgYWxsIHVzZSBjYXNlcyAobGlrZSB3aGVuIGEgYFByb2NgIHNwYW5zIG11bHRp cGxlIGxpbmVzIG9yIHVzZXMgYGRvLi4uZW5kYCBzeW50YXgpIGJ1dCB3aWxsIGdldCB5b3UgY2xv c2UuDQoNCiMjIEhvdw0KDQpJIHRoaW5rIHRoZXJlIGFyZSBhIGNvdXBsZSBvZiBwYXRocyB0aGF0 IG1pZ2h0IGJlIG5pY2UgdG8gc3VwcG9ydCB0aGlzIHVzZSBjYXNlLiANCg0KIyMjIE9wdGlvbiBB DQoNClRlYWNoIGBSdWJ5Vk06Okluc3RydWN0aW9uU2VxdWVuY2VgIHRvIHJlc3BvbmQgdG8gYCNz b3VyY2VgIHdoaWNoIHdvdWxkIGJlIHNpbWlsYXIgdG8gd2hhdCB3YXMgcG9zc2libGUgcHJpb3Ig dG8gUnVieSAzLjQuMC4gRXhhbXBsZToNCg0KYGBgIHJ1YnkNCmZ1bmN0aW9uID0gcHJvYyB7IE9i amVjdC5uZXcgfQ0KUnVieVZNOjpJbnN0cnVjdGlvblNlcXVlbmNlLm9mKGZ1bmN0aW9uKS5zb3Vy Y2UNCg0KIyAiT2JqZWN0Lm5ldyINCmBgYA0KDQojIyMgT3B0aW9uIEINCg0KVGhpcyBpcyBzb21l dGhpbmcgdGhhdCBTYW11ZWwgV2lsbGlhbXMgW21lbnRpb25lZF0oaHR0cHM6Ly9idWdzLnJ1Ynkt bGFuZy5vcmcvaXNzdWVzLzYwMTIjbm90ZS0xMykgaW4gW0ZlYXR1cmUgNjAxMl0oaHR0cHM6Ly9i dWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzYwMTIpIHdoaWNoIHdvdWxkIGJlIHRvIHByb3ZpZGUg YSBgU291cmNlYCBvYmplY3QgYXMgYW5zd2VyZWQgYnkgYE1ldGhvZCNzb3VyY2VgIGFuZCBgUHJv YyNzb3VyY2VgLiBFeGFtcGxlICh1c2luZyBhIGBQcm9jYCk6DQoNCmBgYCBydWJ5DQojIEltcGxl bWVudGF0aW9uDQojIE1ldGhvZCNzb3VyY2UgKGkuZS4gU291cmNlLm5ldyBwYXRoLCBsaW5lX251 bWJlciwgbGluZV9jb3VudCwgYm9keSkNCg0KIyBVc2FnZToNCg0KZnVuY3Rpb24gPSBwcm9jIHsg T2JqZWN0Lm5ldyB9DQoNCm1ldGhvZC5zb3VyY2UuY29kZSAgICAgICMgIk9iamVjdC5uZXciDQpt ZXRob2Quc291cmNlLnBhdGggICAgICAjICIkSE9NRS9kZW1vLnJiIg0KbWV0aG9kLnNvdXJjZS5s b2NhdGlvbiAgIyBbMiwgMCwgMywgM10NCmBgYA0KDQojIyMgT3B0aW9uIEMNCg0KSXQgY291bGQg YmUgbmljZSB0byBzdXBwb3J0IGJvdGggT3B0aW9uIEEgYW5kIEIuDQoNCg0KDQoNCi0tIA0KaHR0 cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwu cnVieS1sYW5nLm9yZwogVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUt bGVhdmVAbWwucnVieS1sYW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5 LWxhbmcub3JnL21haWxtYW4zL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLw==