Subject: Re: [PATCH v2] mergetools: add winmerge as a builtin tool

From: David Aguilar <[email-masked]>
Date: Tue, 19 May 2015 21:10:23 -0700

On Fri, May 15, 2015 at 07:40:53AM +0200, Sebastian Schuberth wrote:
> On Thu, May 14, 2015 at 11:24 PM, SZEDER Gábor <[email-masked]> wrote:
> 
> >> $ echo "$PROGRAMFILES(X86)"
> >> C:\Program Files (x86)(X86)
> >>
> >> So it seems to resolve only the $PROGRAMFILES part and appending the
> >> literal "(X86)". Not sure how to tell Bash that "(X86)" is part of the
> >> variable name.
> >
> > It would be ${PROGRAMFILES(X86)}, but POSIX says that variable names can
> > only contain alphanumeric characters and underscores, and Bash adheres
> > when it complains about it in Johannes' example above.  Not sure whether
> > there is a clever escaping that could make it work, I couldn't find any.
> 
> Right, I did already try that curly-braces-style of quoting, and
> MSYS1/2 both give:
> 
> $ echo ${PROGRAMFILES(X86)}
> sh.exe": ${PROGRAMFILES(X86)}: bad substitution
> 
> I couldn't find any other style of quoting that works, either.

How about simply "$PROGRAMFILES (x86)"?

Let the shell handle the programfiles part, and then it'll
concat the (x86).  That's what's on the filesystem anyways, so
it should DTRT.  I'll send this in patch form shortly.
-- 
David