> From: Paul Smith <psm...@gnu.org>
> Date: Wed, 31 May 2017 19:48:57 -0400
> 
> I'm working on ensuring that the test suite works on Windows

That's great news, thanks!

>   #if !defined(WINDOWS32) && !defined(__MSDOS__) && !defined(__EMX__)
>         /* Check to see if the line was really ended with CRLF; if so ignore
>            the CR.  */
>         if ((p - start) > 1 && p[-2] == '\r')
>           {
>             --p;
>             memmove (p-1, p, strlen (p) + 1);
>           }
>   #endif
> 
> I'm not sure about this implementation (performance-wise) but leaving
> that aside, I don't understand why this code is ifdef'd out on Windows. 

Well, it's your code, or so it seems ;-)  And it was always ifdef'ed
away on those platforms, since the day it was committed back in 1999
(see commit 7052a57).

> I mean, CRLF is more prevalent on Windows so why wouldn't we have this
> there?
> 
> Is the idea that on Windows we want to preserve the CRLF, for some
> reason?  I'm not sure I see the point in doing that when we're parsing
> the makefile; I mean we'd throw away all the newlines on UNIX, so why
> would we preserve the CRLF on Windows?

I think Ray is right: the CRLF combination simply cannot happen on
those platforms, because Make there uses text-mode reads, so the CR
characters are simply gone by the time we get here.

_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to