git grep -e VISUAL -e EDITOR revealed this inconsistency. All other commands seem to check VISUAL and then EDITOR as they should.
---
Show changes to git-send-email.perl +1 −2
diff --git a/git-send-email.perl b/git-send-email.perl index c5d9e73..7b81962 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -222,8 +256,7 @@ GIT: for the patch you are writing. EOT close(C); - my $editor = $ENV{EDITOR}; - $editor = 'vi' unless defined $editor; + my $editor = $ENV{VISUAL} || $ENV{EDITOR} || 'vi'; system($editor, $compose_filename); open(C2,">",$compose_filename . ".final")