[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Savannah bug #4364
From: |
Eli Zaretskii |
Subject: |
Re: Savannah bug #4364 |
Date: |
Wed, 30 Jul 2003 08:08:50 +0200 |
> Date: Tue, 29 Jul 2003 17:36:14 -0400
> From: address@hidden
>
> Here is the makefile to repro the bugs:
>
> .PHONY: test
> test:
> catargs.bat perl -e "print \"foo;;\";" # make removes the ;;
> catargs.bat perl -e "my $$a = 4; print \"$$a\";" # make doesn't really
> escape the $
>
>
> This produces the following results:
>
> C:\checker\dev\test\make>make
> catargs.bat perl -e "print \"foo;;\";"
>
> C:\checker\dev\test\make>echo perl -e "print \"foo \";"
> perl -e "print \"foo \";"
> catargs.bat perl -e "my $a = 4; print \"$a\";"
>
> C:\checker\dev\test\make>echo perl -e "my = 4; print \"\";"
> perl -e "my = 4; print \"\";"
>
> As you can see, what make actually sends to the program doesn't resemble
> what it claims it's sending to the program, making it impossible to
> execute some commands from inside make.
I think it's not Make's fault: it's the Windows shell's fault. It's
the shell that interprets the ;; thing in this case.
As for $$a case, I see different results with the DJGPP port of GNU
Make. What port of which version was used by the OP?