diff --git a/git-send-email.perl b/git-send-email.perl index 9e568bf9c0..b50239636d 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -512,7 +512,7 @@ sub expand_aliases { close(C); my $editor = $ENV{GIT_EDITOR} || Git::config(@repo, "core.editor") || $ENV{VISUAL} || $ENV{EDITOR} || "vi"; - system('sh', '-c', '$0 $@', $editor, $compose_filename); + system('sh', '-c', $editor.' "$@"', $editor, $compose_filename); open(C2,">",$compose_filename . ".final") or die "Failed to open $compose_filename.final : " . $!; diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index c0973b4e6e..030f66cb7c 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -139,15 +139,19 @@ test_expect_success 'Valid In-Reply-To when prompting' ' test_expect_success 'setup fake editor' ' (echo "#!/bin/sh" && - echo "echo fake edit >>\$1" + echo "echo fake edit >>\"\$1\"" ) >fake-editor && chmod +x fake-editor ' +FAKE_EDITOR="$(pwd)/fake-editor" +export FAKE_EDITOR +GIT_EDITOR='"$FAKE_EDITOR"' +export GIT_EDITOR + test_expect_success '--compose works' ' clean_fake_sendmail && echo y | \ - GIT_EDITOR=$(pwd)/fake-editor \ GIT_SEND_EMAIL_NOTTY=1 \ git send-email \ --compose --subject foo \