From: Thomas Rast Date: Wed, 18 Feb 2009 15:43:55 GMT Subject: Re: [PATCH] git-svn: Allow using arguments to the editor. Message-ID: <200902181643.59516.trast@student.ethz.ch> In-Reply-To: <20090218144814.GA23938@anguilla.debian.or.at> 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