Skip to content

0.19.2 --- a name rebuilt part by part keeps its volume - #69

Merged
Sunrisepeak merged 1 commit into
mainfrom
openkal-0.24.2
Nov 7, 2026
Merged

Sunrisepeak merged 1 commit into
mainfrom
openkal-0.24.2

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Closes #68. The leaf fix of the openkal 0.24.2 patch group (mcpp design 2026-11-07, D12: leaf package + platform patch, one index change).

  • llvm/libcxx/src/filesystem/path.cpp (in place, marked): lexically_normal begins its result with the volume and its root directory as written.
  • port/include/__filesystem/path.h: operator/= and both append overloads keep the volume when the appended name has a root directory and no root name.
  • Both probes (examples/cxx, examples/image-cxx) state the three results.
  • llvm/PATCHES.md, README; version 0.19.2.

Verified locally: examples/cxx on Linux and for x86_64-windows-gnu under wine pass every probe; without the change the lexically_normal and weakly_canonical probes fail.

lexically_normal appended the root name D: as an ordinary name, and the root
directory replaced it: D:/a/./b became /a/b, and weakly_canonical and
path("D:/a") / "/b" lost the volume the same way. On Windows a program over
the hosted arrangement named its files beneath no volume, and a launcher could
not start its runner (mcpp-community/mcpp#889, e2e 988). lexically_normal now
begins with the volume and its root directory as written, and appending a
rooted name beneath a volume keeps the volume, as [fs.path.append] states for a
system with root names. Both probes state the three results; without the
change two fail on Linux and under the Windows hosted arrangement (wine).

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
@Sunrisepeak
Sunrisepeak merged commit d26e45b into main Nov 7, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

A name rebuilt part by part loses its volume (lexically_normal, weakly_canonical, / with a rooted name)

1 participant