git-gui since
8fe7861c51 ("git-gui: assure PATH has only absolute
elements.", 2025-04-11) uses a list to maintain order and a dict to
detect duplicated elements without quadratic complexity. But, Tcl's
dict explicitly maintains keys in the order first added, thus the list
is not needed. Simplify the code.
Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
set _path_sep {:}
}
-set _search_path {}
set _path_seen [dict create]
foreach p [split $env(PATH) $_path_sep] {
# Keep only absolute paths, getting rid of ., empty, etc.
}
# Keep only the first occurence of any duplicates.
set norm_p [file normalize $p]
- if {[dict exists $_path_seen $norm_p]} {
- continue
- }
dict set _path_seen $norm_p 1
- lappend _search_path $norm_p
}
+set _search_path [dict keys $_path_seen]
unset _path_seen
set env(PATH) [join $_search_path $_path_sep]