Re: command line limit in mingw-make

Eli Zaretskii <[email protected]> Sat, 13 Oct 2012 14:19:42 +0200
Newsgroups gmane.comp.gnu.make.windows
Message-ID <[email protected]>
> Date: Sat, 13 Oct 2012 11:27:07 +0200
> From: Eli Zaretskii <[email protected]>
> Cc: [email protected]
> 
> > Anyway, really pleased there is progress on this. :-)
> 
> Progress report: I've made the change in my private copy of Make.  If
> I see no problems with this in a couple of weeks, I will commit the
> change to CVS.

Sigh... nothing is ever as simple as it looks.  I needed the
additional patch below to get Make to work correctly when " is removed
from sh_chars_dos.  Without this, it would work incorrectly when the
command line used escaped quotes inside quotes, like in "foo=\"bar\"".

Please try using this change in your future tests.

--- job.c~	2012-01-16 15:46:46.000000000 +0200
+++ job.c	2012-10-13 13:56:37.708375000 +0200
@@ -2660,6 +2667,10 @@ construct_command_argv_internal (char *l
 	     quotes have the same effect.  */
 	  else if (instring == '"' && strchr ("\\$`", *p) != 0 && unixy_shell)
 	    goto slow;
+#ifdef WINDOWS32
+	  else if (instring == '"' && strncmp (p, "\\\"", 2) == 0)
+	    *ap++ = *++p;
+#endif
 	  else
 	    *ap++ = *p;
 	}