[ruby-core:122359] [Ruby Bug#21391] Inconsistent trailing slash behavior of File#join and Pathname#join with empty strings
From:
lovro-bikic via ruby-core <ruby-core@...>
Date:
2025-06-01 09:42:10 UTC
List:
ruby-core #122359
SXNzdWUgIzIxMzkxIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGxvdnJvLWJpa2ljIChMb3ZybyBCaWtp xIcpLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpCdWcgIzIx MzkxOiBJbmNvbnNpc3RlbnQgdHJhaWxpbmcgc2xhc2ggYmVoYXZpb3Igb2YgRmlsZSNqb2luIGFu ZCBQYXRobmFtZSNqb2luIHdpdGggZW1wdHkgc3RyaW5ncw0KaHR0cHM6Ly9idWdzLnJ1YnktbGFu Zy5vcmcvaXNzdWVzLzIxMzkxDQoNCiogQXV0aG9yOiBsb3Zyby1iaWtpYyAoTG92cm8gQmlracSH KQ0KKiBTdGF0dXM6IE9wZW4NCiogcnVieSAtdjogcnVieSAzLjQuNCAoMjAyNS0wNS0xNCByZXZp c2lvbiBhMzg1MzFmZDNmKSArUFJJU00gW3g4Nl82NC1kYXJ3aW4yM10NCiogQmFja3BvcnQ6IDMu MjogVU5LTk9XTiwgMy4zOiBVTktOT1dOLCAzLjQ6IFVOS05PV04NCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmBgYHJ1YnkNCkZpbGUuam9pbignL3VzcicsICcnKQ0K IyA9PiAiL3Vzci8iDQoNClBhdGhuYW1lLm5ldygnL3VzcicpLmpvaW4oJycpLnRvX3MNCiMgPT4g Ii91c3IiICMgbm8gdHJhaWxpbmcgc2xhc2gNCg0KRmlsZS5qb2luKCcvdXNyJywgJyAnKQ0KIyA9 PiAiL3Vzci8gIg0KDQpQYXRobmFtZS5uZXcoJy91c3InKS5qb2luKCcgJykudG9fcw0KIyA9PiAi L3Vzci8gIg0KYGBgDQoNCmBGaWxlLmpvaW5gIHdpdGggYW4gZW1wdHkgc3RyaW5nIGFkZHMgYSB0 cmFpbGluZyBzbGFzaCwgYFBhdGhuYW1lI2pvaW5gIGRvZXNuJ3QuDQpXaGVuIGBQYXRobmFtZSNq b2luYCBhcmd1bWVudCBpcyBhIHN0cmluZyB3aXRoIGVtcHR5IHdoaXRlc3BhY2UsIGEgdHJhaWxp bmcgc2xhc2ggaXMgYWRkZWQgKHBsdXMgd2hpdGVzcGFjZSkuDQoNCkkgdGhpbmsgaXQncyBhIGNv bW1vbiB1c2UtY2FzZSB0byBhcHBlbmQgYSB0cmFpbGluZyBzbGFzaCB0byBgUGF0aG5hbWVgLCBh bmQgY3VycmVudGx5IHlvdSBoYXZlIHRvIHJlc29ydCB0byBvdGhlciBtZXRob2RzIHN1Y2ggYXMg c3RyaW5nIGludGVycG9sYXRpb24gKGUuZy4gaW4gUmFpbHMsIGAiI3tSYWlscy5yb290fS8iYCkg b3IgYEZpbGUuam9pbmAgKGUuZy4gYEZpbGUuam9pbihSYWlscy5yb290LCAnJylgKS4NCg0KSW4g b3RoZXIgcG9wdWxhciBsYW5ndWFnZXMsIGJvdGggYXBwcm9hY2hlcyBoYXZlIGJlZW4gdGFrZW46 DQotIFtgb3MucGF0aC5qb2luYCBpbiBQeXRob25dKGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMu MTIvbGlicmFyeS9vcy5wYXRoLmh0bWwjb3MucGF0aC5qb2luKSBhZGRzIGEgdHJhaWxpbmcgc2xh c2g6DQpgYGBweXRob24NCmltcG9ydCBvcw0Kb3MucGF0aC5qb2luKCcvdXNyJywgJycpDQojICcv dXNyLycNCmBgYA0KLSBbUGF0aC5qb2luIGluIFJ1c3RdKGh0dHBzOi8vZG9jLnJ1c3QtbGFuZy5v cmcvc3RkL3BhdGgvc3RydWN0LlBhdGguaHRtbCNtZXRob2Quam9pbikgYWRkcyBhIHRyYWlsaW5n IHNsYXNoOg0KYGBgcnVzdA0KdXNlIHN0ZDo6cGF0aDo6e1BhdGh9Ow0KDQpmbiBtYWluKCkgew0K ICAgIHByaW50bG4hKCJ7fSIsIFBhdGg6Om5ldygiL3VzciIpLmpvaW4oIiIpLmRpc3BsYXkoKSk7 DQogICAgLy8gcHJpbnRzICIvdXNyLyINCn0NCmBgYA0KLSBbcGF0aC5qb2luIGluIE5vZGVdKGh0 dHBzOi8vbm9kZWpzLm9yZy9hcGkvcGF0aC5odG1sI3BhdGhqb2lucGF0aHMpIGRvZXNuJ3QgYWRk IGEgdHJhaWxpbmcgc2xhc2g6DQpgYGBqcw0KY29uc3QgcGF0aCA9IHJlcXVpcmUoJ3BhdGgnKTsN Cg0KcGF0aC5qb2luKCcvdXNyJywgJycpOw0KLy8gJy91c3InDQpgYGANCi0gW2ZpbGVwYXRoLkpv aW4gaW4gR29dKGh0dHBzOi8vcGtnLmdvLmRldi9wYXRoL2ZpbGVwYXRoI0pvaW4pIGRvZXNuJ3Qg YWRkIGEgdHJhaWxpbmcgc2xhc2g6DQpgYGBnbw0KcGFja2FnZSBtYWluDQoNCmltcG9ydCAoImZt dCI7ICJwYXRoL2ZpbGVwYXRoIikNCg0KZnVuYyBtYWluKCkgew0KICBmbXQuUHJpbnRsbihmaWxl cGF0aC5Kb2luKCIvdXNyIiwgIiIpKQ0KICAvLyBwcmludHMgIi91c3IiDQp9DQpgYGANCg0KDQoN Ci0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCiBydWJ5LWNvcmUgbWFpbGluZyBsaXN0IC0tIHJ1Ynkt Y29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHJ1 YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3JnCiBydWJ5LWNvcmUgaW5mbyAtLSBodHRwczov L21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMvbGlzdHMvcnVieS1jb3JlLm1sLnJ1YnktbGFuZy5v cmcvCg==