URL:
<http://savannah.gnu.org/bugs/?20513>
Summary: # still needs to be escaped in a function like
$(shell)
Project: make
Submitted by: lmamane
Submitted on: Wednesday 18/07/07 at 17:50
Severity: 3 - Normal
Item Group: Bug
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Component Version: 3.81
Operating System: POSIX-Based
Fixed Release: None
_______________________________________________________
Details:
The NEWS file says:
Version 3.81
* WARNING: Backward-incompatibility!
Some previous versions of GNU make had a bug where "#" in a function
invocation such as $(shell ...) was treated as a make comment. A
workaround was to escape these with backslashes. This bug has been
fixed: if your makefile uses "\#" in a function invocation the
backslash is now preserved, so you'll need to remove it.
But I still get that bug with 3.81 and with CVS HEAD. The following
makefile:
FOO:=$(shell echo '#')
foo:
echo '$(FOO)'
gives:
Makefile:1: *** unterminated call to function `shell': missing `)'. Stop.
while
FOO:=$(shell echo '\#')
foo:
echo '$(FOO)'
works, and the backslash is _not_ passed to the shell.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?20513>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
_______________________________________________
Bug-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-make