From 26646299a1948c92a79bcefc10df965002968687 Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Tue, 5 May 2026 11:20:38 -0700 Subject: [PATCH] rdi_make: preserve root-level `..`s in interned path tree --- project.4coder | 4 ++-- src/lib_rdi_make/rdi_make.c | 11 ++++------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/project.4coder b/project.4coder index 9967732e..8292e83f 100644 --- a/project.4coder +++ b/project.4coder @@ -46,10 +46,10 @@ load_paths = commands = { //- rjf: [raddbg] - .f1 = { .win = "raddbg_stable --ipc kill_all && build raddbg", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, }, + // .f1 = { .win = "raddbg_stable --ipc kill_all && build raddbg", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, }, // .f1 = { .win = "raddbg_stable --ipc kill_all && build raddbg debug telemetry", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, }, // .f1 = { .win = "raddbg_stable --ipc kill_all && build radbin", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, }, - // .f1 = { .win = "build radbin", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, }, + .f1 = { .win = "build radbin", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, }, //- rjf: [raddbg wsl] // .f1 = { .win = "wsl ./build.sh raddbg", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, }, diff --git a/src/lib_rdi_make/rdi_make.c b/src/lib_rdi_make/rdi_make.c index b95aa3fb..ca273bba 100644 --- a/src/lib_rdi_make/rdi_make.c +++ b/src/lib_rdi_make/rdi_make.c @@ -1972,15 +1972,12 @@ rdim_bake_path_tree_insert(RDIM_Arena *arena, RDIM_BakePathTree *tree, RDIM_Stri } // rjf: .. -> go up - if(sub_dir.RDIM_String8_SizeMember == 2 && - sub_dir.RDIM_String8_BaseMember[0] == '.' && - sub_dir.RDIM_String8_BaseMember[1] == '.') + if(node->parent != 0 && + (sub_dir.RDIM_String8_SizeMember == 2 && + sub_dir.RDIM_String8_BaseMember[0] == '.' && + sub_dir.RDIM_String8_BaseMember[1] == '.')) { sub_dir_node = node->parent; - if(sub_dir_node == 0) - { - sub_dir_node = &tree->root; - } } // rjf: . -> stay here