gitk: Handle external diff tool with spaces in the path
[gitweb.git] / gitk
diff --git a/gitk b/gitk
index 045e4abba83789a98532bea6f495d5d214667398..488286f6a1751da8c079c83260d38787a391d603 100755 (executable)
--- a/gitk
+++ b/gitk
@@ -3245,9 +3245,8 @@ proc external_diff {} {
     set difftofile [external_diff_get_one_file $diffidto $flist_menu_file $diffdir]
 
     if {$difffromfile ne {} && $difftofile ne {}} {
-        set cmd [concat | [shellsplit $extdifftool] \
-                    [list $difffromfile $difftofile]]
-        if {[catch {set fl [open $cmd r]} err]} {
+        set cmd [list [shellsplit $extdifftool] $difffromfile $difftofile]
+        if {[catch {set fl [open |$cmd r]} err]} {
             file delete -force $diffdir
             error_popup "$extdifftool: [mc "command failed:"] $err"
         } else {