Gerfried Fuchs wrote:
I'm not sure where quoted spaces and such are handled very much
differently. How would you quote it that wouldn't make tons of programs
fail? EDITOR='"/my space path/prog"' doesn't work in most applications
because they wouldn't strip the embedded quotes, neither does
EDITOR='/my\ space\ path/prog' work. EDITOR='/my space path/prog' might
work in some (current git-svn) but not in all.
I have EDITOR='emacs -nw' and it works for git, svn and hg. (Which
are roughly the ones I care about.)
I haven't looked into how git does it directly, but it offers that
posibility:
EDITOR="vim -c 'syn off'" git commit -a
I wasn't able to figure out any way to use a space-embedded filename in
EDITOR for git - so why should git-svn behave differently here? But you
are right, this very example shows clearly that my approach is
incomplete because it can't handle the 'syn off' part.
launch_editor (in editor.c) does roughly the following in Perl:
# set $editor according to config/variables
my @editor = ($editor);
if ($editor =~ /["$\t ]/) {
@editor = ('sh', '-c', $editor . ' "$@"', $editor);
}
system(@editor, @rest_of_args);
I'm not a Perl expert but that's my current educated guess of what it
translates to ;-)
--
Thomas Rast
trast@{inf,student}.ethz.ch