make-alpha
[Top][All Lists]
Advanced

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

Re: Quoting special characters (was: Re: Possible solution for special c


From: Paul Smith
Subject: Re: Quoting special characters (was: Re: Possible solution for special characters in makefile paths)
Date: Wed, 26 Feb 2014 10:37:57 -0500

On Wed, 2014-02-26 at 16:14 +0100, Frank Heckenbach wrote:
> > > FOO = a'()'b
> > > all: $(FOO); cat $(FOO)
> > > 
> > > If make doesn't handle ', it will depend on a file called «a'()'b»
> > > including quotes, and give this on the command line, which to the
> > > shell means «a()b», i.e. a different file name.
> > 
> > This seems like a bit of circular reasoning to me: we want to support
> > quoting because if we don't then quoting won't be supported :-).
> 
> That's not exactly what I was saying. My point is that both make (in
> target/dependency lists) and the shell must interpret some string
> into words. If they do it differently, there is potential for
> confusion and breakage.

I wasn't suggesting make would do it differently, just that it doesn't
need to do everything.  A strict subset, if you will, seems sufficient
to me.

Now I'm the one guilty of not using an example, where it might make
things clearer :-/.  What I'm saying is why can't the user write this
instead of the above:

  FOO = a\(\)b

That gives the same results, as far as I can see, and still requires
that make only understand one type of quoting.  Why do we have to also
support '' and "" when backslash is sufficient to the job?

For your other example:

> FOO = a'()'b\'c\ d

If you wanted to match the literal filename "a()b'c d" you can just
write:

  FOO = a\(\)b\'c\ d

... no?




reply via email to

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