This allows one to use textconv commands with arguments. Signed-off-by: Matthieu Moy <Matthieu.Moy@xxxxxxx> --- git-gui/Makefile | 1 + git-gui/git-gui.sh | 6 ++++++ git-gui/lib/blame.tcl | 4 +++- 3 files changed, 10 insertions(+), 1 deletions(-) diff --git a/git-gui/Makefile b/git-gui/Makefile index 197b55e..e22ba5c 100644 --- a/git-gui/Makefile +++ b/git-gui/Makefile @@ -215,6 +215,7 @@ endif $(GITGUI_MAIN): git-gui.sh GIT-VERSION-FILE GIT-GUI-VARS $(QUIET_GEN)rm -f $@ $@+ && \ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \ + -e 's|@@SHELL_PATH@@|$(SHELL_PATH_SQ)|' \ -e '1,30s|^ argv0=$$0| argv0=$(GITGUI_SCRIPT)|' \ -e '1,30s|^ exec wish | exec '\''$(TCLTK_PATH_SED)'\'' |' \ -e 's/@@GITGUI_VERSION@@/$(GITGUI_VERSION)/g' \ diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh index bb10489..9049abf 100755 --- a/git-gui/git-gui.sh +++ b/git-gui/git-gui.sh @@ -128,6 +128,7 @@ set _githtmldir {} set _reponame {} set _iscygwin {} set _search_path {} +set _shellpath {@@SHELL_PATH@@} set _trace [lsearch -exact $argv --trace] if {$_trace >= 0} { @@ -137,6 +138,11 @@ if {$_trace >= 0} { set _trace 0 } +proc shellpath {} { + global _shellpath + return $_shellpath +} + proc appname {} { global _appname return $_appname diff --git a/git-gui/lib/blame.tcl b/git-gui/lib/blame.tcl index 2137ec9..77656d3 100644 --- a/git-gui/lib/blame.tcl +++ b/git-gui/lib/blame.tcl @@ -460,7 +460,9 @@ method _load {jump} { } if {$commit eq {}} { if {$do_textconv ne 0} { - set fd [open |[list $textconv $path] r] + # Run textconv with sh -c "..." to allow it to + # contain command + arguments. + set fd [open |[list [shellpath] -c "$textconv \"\$0\"" $path] r] } else { set fd [open $path r] } -- 1.7.2.1.30.g18195 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html