Re: why does command echo \\\foobar print \\foobar

Eli Zaretskii <[email protected]>
Newsgroups gmane.comp.gnu.make.windows
Message-ID <[email protected]>
> From: "Mark Galeck (CW)" <[email protected]>
> Date: Sun, 7 Feb 2010 13:38:43 -0800
> Accept-Language: en-US
> acceptlanguage: en-US
> 
> OK, so let me hazard a "rule".  With GNU make on Windows, in the middle of a rule command, and when the command is not "built-in", then "\" is an escape character.  In particular, when parsing left-to-right,  "\\" will escape itself and pass "\".  However, to be compatible with Windows paths, "\" will not escape the next character, if it could be the beginning of a file or directory name, so "\foobar" will pass "foobar".  
> 
> (Now this still leaves us what happens when the next character is not \ and not a beginning of a filename, but that is of no concern  to me right now)
> 
> Does this sound about right and can I expect this rule should always work?  

Yes, except that Make does not really know what is a beginning of a
file name, it does the same anywhere in the command line it is about
to pass to the program it invokes.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.