[#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:120516] [Ruby master Feature#20878] A new C API to create a String by adopting a pointer: `rb_enc_str_adopt(const char *ptr, long len, long capa, rb_encoding *enc)`
From:
"mame (Yusuke Endoh) via ruby-core" <ruby-core@...>
Date:
2025-01-07 08:23:49 UTC
List:
ruby-core #120516
SXNzdWUgIzIwODc4IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWFtZSAoWXVzdWtlIEVuZG9oKS4NCg0K DQpUaGFua3MgZm9yIHRoZSBiZW5jaG1hcmsuIEkgYnJpZWZseSB0YWxrZWQgYWJvdXQgdGhpcyB3 aXRoIEBub2J1LCBAYWtyLCBhbmQgQGtvMS4NCg0KVGhlIGFwcHJvYWNoIG9mIHBhc3NpbmcgYSBw b2ludGVyIHRvIHRoZSBgZnJlZWAgZnVuY3Rpb24gbG9va3MgYSBiaXQgdG9vIG92ZXItdGhlLXRv cCwgQG5vYnUgc2FpZC4NCkl0IG5lZWQgbm90IG9ubHkgYGZyZWVgIGZ1bmN0aW9uIGJ1dCBhbHNv IGByZWFsbG9jYCBmdW5jdGlvbiwgQGFrciBzYWlkLg0KDQpJIHRoaW5rIGl0IHdvdWxkIGJlIGVh c3kgdG8ganVzdCBzdHJpY3RseSBrZWVwIHRoZSBwcmVyZXF1aXNpdGUg4oCcYHB0cmAgTVVTVCBo YXZlIGJlZW4gYWxsb2NhdGVkIHdpdGggYHJ1YnlfeG1hbGxvY2Au4oCdIGFzIG9yaWdpbmFsbHkg cHJvcG9zZWQuDQpJcyB0aGVyZSBhIHJlYWwtd29ybGQgdXNlIGNhc2UgdG8gbWFrZSBhIFN0cmlu ZyB3aXRoIGEgcG9pbnRlciBhbGxvY2F0ZWQgb3V0c2lkZSBvZiBgeG1hbGxvY2A/DQoNCkBrbzEg c3VnZ2VzdGVkIHRvIGludHJvZHVjZSB0aGlzIEFQSSBhcyBhIGhpZGRlbiBBUEkgb25seSBmb3Ig anNvbiBnZW0sIGluc3RlYWQgb2YgaW50cm9kdWNpbmcgaXQgYXMgYW4gb2ZmaWNpYWwgb25lLg0K DQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZlYXR1cmUgIzIw ODc4OiBBIG5ldyBDIEFQSSB0byBjcmVhdGUgYSBTdHJpbmcgYnkgYWRvcHRpbmcgYSBwb2ludGVy OiBgcmJfZW5jX3N0cl9hZG9wdChjb25zdCBjaGFyICpwdHIsIGxvbmcgbGVuLCBsb25nIGNhcGEs IHJiX2VuY29kaW5nICplbmMpYA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIw ODc4I2NoYW5nZS0xMTEzMjENCg0KKiBBdXRob3I6IGJ5cm9vdCAoSmVhbiBCb3Vzc2llcikNCiog U3RhdHVzOiBPcGVuDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoj IyMgQ29udGV4dA0KDQpBIGNvbW1vbiB1c2UgY2FzZSB3aGVuIHdyaXRpbmcgQyBleHRlbnNpb25z IGlzIHRvIGdlbmVyYXRlIHRleHQgb3IgYnl0ZXMgaW50byBhIGJ1ZmZlciwgYW5kIHRvIHJldHVy biBpdCBiYWNrDQp3cmFwcGVkIGludG8gYSBSdWJ5IFN0cmluZy4gRXhhbXBsZXMgYXJlIGBKU09O LmdlbmVyYXRlKG9iaikgLT4gU3RyaW5nYCwgYW5kIGFsbCBvdGhlciBmb3JtYXQgc2VyaWFsaXpl cnMsDQpjb21wcmVzc2lvbiBsaWJyYXJpZXMgc3VjaCBhcyBgWkxpYi5kZWZsYXRlYCwgZXRjLCBi dXQgYWxzbyBtZXRob2RzIHN1Y2ggYXMgYFRpbWUuc3RyZnRpbWVgLCANCg0KIyMjIEN1cnJlbnQg U29sdXRpb24NCg0KIyMjIyBXb3JrIGluIGEgYnVmZmVyIGFuZCBjb3B5IHRoZSByZXN1bHQNCg0K VGhlIG1vc3Qgb2Z0ZW4gdXNlZCBzb2x1dGlvbiBpcyB0byB3b3JrIHdpdGggYSBuYXRpdmUgYnVm ZmVyIGFuZCB0byBtYW5hZ2UgYSBuYXRpdmUgYWxsb2NhdGVkIGJ1ZmZlciwNCmFuZCBvbmNlIHRo ZSBnZW5lcmF0aW9uIGlzIGRvbmUsIGNhbGwgYHJiX3N0cl9uZXcqYCB0byBjb3B5IHRoZSByZXN1 bHQgaW5zaWRlIG1lbW9yeSBtYW5hZ2VkIGJ5IFJ1YnkuDQoNCkl0IHdvcmtzLCBidXQgaXNuJ3Qg dmVyeSBlZmZpY2llbnQgYmVjYXVzZSBpdCBjYXVzZSBhbiBleHRyYSBjb3B5IGFuZCBhbiBleHRy YSBgZnJlZSgpYC4NCg0KT24gYHJ1YnkvanNvbmAgbWFjcm8tYmVuY2htYXJrcywgdGhpcyByZXBy ZXNlbnQgYXJvdW5kIDUlIG9mIHRoZSB0aW1lIHNwZW50IGluIGBKU09OLmdlbmVyYXRlYC4NCg0K YGBgYw0Kc3RhdGljIHZvaWQgZmJ1ZmZlcl9mcmVlKEZCdWZmZXIgKmZiKQ0Kew0KICAgIGlmIChm Yi0+cHRyICYmIGZiLT50eXBlID09IEZCVUZGRVJfSEVBUF9BTExPQ0FURUQpIHsNCiAgICAgICAg cnVieV94ZnJlZShmYi0+cHRyKTsNCiAgICB9DQp9DQoNCnN0YXRpYyBWQUxVRSBmYnVmZmVyX3Rv X3MoRkJ1ZmZlciAqZmIpDQp7DQogICAgVkFMVUUgcmVzdWx0ID0gcmJfdXRmOF9zdHJfbmV3KEZC VUZGRVJfUFRSKGZiKSwgRkJVRkZFUl9MRU4oZmIpKTsNCiAgICBmYnVmZmVyX2ZyZWUoZmIpOw0K ICAgIHJldHVybiByZXN1bHQ7DQp9DQpgYGANCg0KIyMjIyBXb3JrIGluc2lkZSBSU3RyaW5nIGFs bG9jYXRlZCBtZW1vcnkNCg0KQW5vdGhlciB3YXkgdGhpcyBpcyBjdXJyZW50bHkgZG9uZSwgaXMg dG8gYWxsb2NhdGUgYW4gYFJTdHJpbmdgIHVzaW5nIGByYl9zdHJfYnVmX25ld2AsDQphbmQgd3Jp dGUgaW50byBpdCB3aXRoIHZhcmlvdXMgZnVuY3Rpb25zIHN1Y2ggYXMgYHJiX3N0cl9jYXRmYCwN Cm9yIHdyaXRpbmcgcGFzdCBgUlN0cmluZy5sZW5gIHRocm91Z2ggYFJTVFJJTkdfUFRSYCBhbmQg dGhlbiByZXNpemUgaXQgd2l0aCBgcmJfc3RyX3NldF9sZW5gLg0KDQpUaGUgZG93bnNpZGUgd2l0 aCB0aGlzIGFwcHJvYWNoIGlzIHRoYXQgaXQgY29udGFpbnMgYSBsb3Qgb2YgaW5lZmZpY2llbmNp ZXMsIGFzIGByYl9zdHJfc2V0X2xlbmAgd2lsbCBwZXJmb3JtDQpudW1lcm91cyBzYWZldHkgY2hl Y2tzLCBjb21wdXRlIGNvZGVyYW5nZSwgYW5kIHdyaXRlIHRoZSBzdHJpbmcgdGVybWluYXRvciBv biBldmVyeSBpbnZvY2F0aW9uLg0KDQpBbm90aGVyIG1ham9yIGlubmVmaWNpZW5jeSBpcyB0aGF0 IHRoaXMgQVBJIG1ha2UgaXQgaGFyZCB0byBiZSBpbiBjb250cm9sIG9mIHRoZSBidWZmZXINCmdy b3d0aCwgc28gaXQgY2FuIHJlc3VsdCBpbiBhIGxvdCBtb3JlIGByZWFsbG9jKClgIGNhbGxzIHRo YW4gbWFudWFsbHkgbWFuYWdpbmcgdGhlIGJ1ZmZlci4NCg0KVGhpcyBtZXRob2QgaXMgdXNlZCBi eSBgS2VybmVsI3NwcmludGZgLCBgVGltZSNzdHJmdGltZWAgZXRjLCBhbmQgd2hlbiBJIGF0dGVt cHRlZCB0byBpbXByb3ZlIGBUaW1lI3N0cmZ0aW1lYA0KcGVyZm9ybWFuY2UsIHRoaXMgcHJvYmxl bSBzaG93ZWQgdXAgYXMgdGhlIGJpZ2dlc3QgYm90dGxlbmVjazoNCg0KICAtIGh0dHBzOi8vZ2l0 aHViLmNvbS9ydWJ5L3J1YnkvcHVsbC8xMTU0Nw0KICAtIGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5 L3J1YnkvcHVsbC8xMTU0NA0KICAtIGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvcHVsbC8x MTU0Mg0KDQojIyMgUHJvcG9zZWQgQVBJDQoNCkkgdGhpbmsgYSBtb3JlIGVmZmNpZW50IHdheSB0 byBkbyB0aGlzIHdvdWxkIGJlIHRvIHdvcmsgd2l0aCBhIG5hdGl2ZSBidWZmZXIsIGFuZCB0aGVu IGJ1aWxkIGEgUlN0cmluZw0KdGhhdCAiYWRvcHQiIHRoZSBtZW1vcnkgcmVnaW9uLg0KDQpUZWNo bmljYWxseSwgeW91IGNhbiBjdXJyZW50bHkgZG8gdGhpcyBieSByZWFjaGluZyBkaXJlY3RseSBp bnRvIGBSU3RyaW5nYCBtZW1iZXJzLCBidXQgSSBkb24ndCB0aGluayBpdCdzIGNsZWFuLA0KYW5k IGEgZGVkaWNhdGVkIEFQSSB3b3VsZCBiZSBwcmVmZXJhYmxlOg0KDQpgYGBjDQovKioNCiAqIFNp bWlsYXIgdG8gcmJfc3RyX25ldygpLCBidXQgaXQgYWRvcHRzIHRoZSBwb2ludGVyIGluc3RlYWQg b2YgY29weWluZy4NCiAqDQogKiBAcGFyYW1baW5dICBwdHIgICAgICAgICAgICAgQSBtZW1vcnkg cmVnaW9uIG9mIGBjYXBhYCBieXRlcyBsZW5ndGguIE1VU1QgaGF2ZSBiZWVuIGFsbG9jYXRlZCB3 aXRoIGBydWJ5X3htYWxsb2NgDQogKiBAcGFyYW1baW5dICBsZW4gICAgICAgICAgICAgTGVuZ3Ro ICBvZiB0aGUgc3RyaW5nLCAgaW4gYnl0ZXMsICBub3QgaW5jbHVkaW5nICB0aGUNCiAqICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGluZyBOVUwgY2hhcmFjdGVyLCBub3QgaW5j bHVkaW5nIGV4dHJhIGNhcGFjaXR5Lg0KICogQHBhcmFtW2luXSAgY2FwYSAgICAgICAgICAgIFRo ZSB1c2FibGUgbGVuZ3RoIG9mIGBwdHJgLCBpbiBieXRlcywgIGluY2x1ZGluZyAgdGhlDQogKiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVybWluYXRpbmcgTlVMIGNoYXJhY3Rlci4NCiAq IEBwYXJhbVtpbl0gIGVuYyAgICAgICAgICAgICBFbmNvZGluZyBvZiBgcHRyYC4NCiAqIEBleGNl cHRpb24gIHJiX2VBcmdFcnJvciAgICBgbGVuYCBpcyBuZWdhdGl2ZS4NCiAqIEByZXR1cm4gICAg IEFuIGluc3RhbmNlICBvZiA6OnJiX2NTdHJpbmcsICBvZiBgbGVuYCAgYnl0ZXMgbGVuZ3RoLCBg Y2FwYSAtIDFgIGJ5dGVzIGNhcGFjaXR5LA0KICogICAgICAgICAgICAgYW5kIG9mIGBlbmNgIGVu Y29kaW5nLg0KICogQHByZSAgICAgICAgQXQgIGxlYXN0ICBgY2FwYWAgYnl0ZXMgIG9mICBjb250 aW51b3VzICBtZW1vcnkgcmVnaW9uICBzaGFsbCAgYmUNCiAqICAgICAgICAgICAgIGFjY2Vzc2li bGUgdmlhIGBwdHJgLg0KICogQHByZSAgICAgICAgYHB0cmAgTVVTVCBoYXZlIGJlZW4gYWxsb2Nh dGVkIHdpdGggYHJ1YnlfeG1hbGxvY2AuDQogKiBAcHJlICAgICAgICBgcHRyYCBNVVNUIG5vdCBi ZSBtYW51YWxseSBmcmVlZCBhZnRlciBgcmJfZW5jX3N0cl9hZG9wdGAgaGFzIGJlZW4gY2FsbGVk Lg0KICogQG5vdGUgICAgICAgYGVuY2AgY2FuIGJlIGEgIG51bGwgcG9pbnRlci4gIEl0IGNhbiBh bHNvIGJlICBzZWVuIGFzIGEgcm91dGluZQ0KICogICAgICAgICAgICAgaWRlbnRpY2FsIHRvIHJi X3VzYXNjaWlfc3RyX25ldygpIHRoZW4uDQogKi8NCnJiX2VuY19zdHJfYWRvcHQoY29uc3QgY2hh ciAqcHRyLCBsb25nIGxlbiwgbG9uZyBjYXBhLCByYl9lbmNvZGluZyAqZW5jKTsNCmBgYA0KDQpB biBhbHRlcm5hdGl2ZSB0byB0aGUgYGFkb3B0YCB0ZXJtLCBjb3VsZCBiZSBgbW92ZWAuDQoNCg0K LS0tRmlsZXMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KQ2FwdHVyZSBk4oCZZcyB Y3JhbiAyMDI0LTEyLTExIGHMgCAxMS4wMy4wOC5wbmcgKDI1MCBLQikNCg0KDQotLSANCmh0dHBz Oi8vYnVncy5ydWJ5LWxhbmcub3JnLw0KIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KIHJ1YnktY29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1jb3JlQG1sLnJ1 YnktbGFuZy5vcmcKIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVieS1jb3JlLWxl YXZlQG1sLnJ1YnktbGFuZy5vcmcKIHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8vbWwucnVieS1s YW5nLm9yZy9tYWlsbWFuMy9saXN0cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9yZy8=