git-gui: simplify PATH de-duplication

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>

Mark Levedahl committed Aug 20, 2025 at 11:31 UTC e369dbeb794a21c381dd7b06dac880763140bfb3
1 file changed +1 -5
git-gui.sh
+1 -5
@@ -103,7 +103,6 @@ if {[is_Windows]} {
103 set _path_sep {:}
104 }
105
106 -set _search_path {}
106 set _path_seen [dict create]
107 foreach p [split $env(PATH) $_path_sep] {
108 # Keep only absolute paths, getting rid of ., empty, etc.
@@ -112,12 +111,9 @@ foreach p [split $env(PATH) $_path_sep] {
111 }
112 # Keep only the first occurence of any duplicates.
113 set norm_p [file normalize $p]
115 - if {[dict exists $_path_seen $norm_p]} {
116 - continue
117 - }
114 dict set _path_seen $norm_p 1
119 - lappend _search_path $norm_p
115 }
116 +set _search_path [dict keys $_path_seen]
117 unset _path_seen
118
119 set env(PATH) [join $_search_path $_path_sep]