Re: Quoting special characters (was: Re: Possible solution for special characters in makefile paths)
Paul Smith <[email protected]>
| Newsgroups | gmane.comp.gnu.make.devel |
|---|---|
| Organization | GNU's Not UNIX! |
| Message-ID | <1393429077.21230.284.camel@homebase> |
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? _______________________________________________ Make-alpha mailing list [email protected] https://lists.gnu.org/mailman/listinfo/make-alpha