bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug #31614] allow spaces in target names


From: Paul Smith
Subject: Re: [bug #31614] allow spaces in target names
Date: Wed, 10 Nov 2010 10:24:21 -0500

On Wed, 2010-11-10 at 16:15 +0100, Edward Welbourne wrote:
> > $ echo 'a b:; echo $@' | make -f - "a b"
> > echo a b
> > a b
> 
> and what happens if you
>   echo 'a b:; echo $@' | make -f - a
> ?  If that doesn't echo a, then you've broken all rules with more than
> one target ...
> 
> I expected your escaping to require
>   echo 'a\\ b:; echo $@' | make -f - 'a b'
> or
>   echo '"a b":; echo $@' | make -f - 'a b'
> or similar, so that the target's space is escaped.

Unfortunately Savannah's email program is not correctly translating the
bug content into email.

The actual example in the bug is:

        echo 'a\ b:; echo $@' | make -f - "a b"

You don't need double backslashes because it's inside single quotes.

However, this is not nearly the only problem with this suggestion.
Adding support for whitespace inside filenames is actually extremely
tricky, because almost all of make is really just text parsing, and all
that parsing is whitespace-based.

None of it will work correctly in the face of target names containing
whitespace.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]