bugmake - Bugs: bug #20513, # still needs to be escaped in a...


bug #20513: # still needs to be escaped in a function like $(shell)

Submitted by:  Lionel Elie Mamane <lmamane>
Submitted on:  Wed 18 Jul 2007 03:50:08 PM UTC  
Severity:  3 - Normal Item Group:  Bug
Status:  Fixed Privacy:  Public
Assigned to:  Paul D. Smith <psmith> Open/Closed:  Closed
Component Version:  3.81 Operating System:  POSIX-Based
Fixed Release:  SCM Triage Status:  Medium Effort

Add a New Comment(Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


Mon 26 Dec 2016 02:34:03 PM UTC, comment #3:

This is finally fixed. However, it is a backward-compat break. We'll have to see how serious it is; it's possible we'll have to introduce some way to recognize both formats for a while, or something.

Paul D. Smith <psmith>
Project AdministratorIn charge of this item.
Sat 10 May 2008 10:42:26 PM UTC, comment #2:

I get the exact same error when building jhbuild:

make[1]: Leaving directory `/home/gezim/projects/jhbuild/po'
make[1]: Entering directory `/home/gezim/projects/jhbuild'
test z"." = z"." && make -f Makefile.plain || true
make[2]: Entering directory `/home/gezim/projects/jhbuild'
Run "make install" to install.
make[2]: Leaving directory `/home/gezim/projects/jhbuild'
make[2]: Entering directory `/home/gezim/projects/jhbuild'
test z"." = z"." && make -f Makefile.plain install || true
make[3]: Entering directory `/home/gezim/projects/jhbuild'
cd po && make -f Makefile.plain install
make[4]: Entering directory `/home/gezim/projects/jhbuild/po'
Makefile.plain:8: *** unterminated call to function `shell': missing `)'. Stop.
make[4]: Leaving directory `/home/gezim/projects/jhbuild/po'
make[3]: *** [install] Error 2
make[3]: Leaving directory `/home/gezim/projects/jhbuild'
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/gezim/projects/jhbuild'
make[1]: Leaving directory `/home/gezim/projects/jhbuild'

make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A

This program built for i486-pc-linux-gnu

On ubuntu 8.04

Gezim <haxhia>
Wed 18 Jul 2007 03:51:07 PM UTC, comment #1:

Forgot to mention: Debian GNU/Linux sid i386 and amd64.

Lionel Elie Mamane <lmamane>
Wed 18 Jul 2007 03:50:08 PM UTC, original submission:

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 '#')
echo '$(FOO)'


Makefile:1: *** unterminated call to function `shell': missing `)'. Stop.


FOO:=$(shell echo '\#')
echo '$(FOO)'

works, and the backslash is not passed to the shell.

Lionel Elie Mamane <lmamane>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by psmith (Updated the item)
  • -email is unavailable- added by haxhia (Posted a comment)
  • -email is unavailable- added by lmamane (Submitted the item)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.




    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2016-12-26 psmith StatusNone => Fixed
        Assigned toNone => psmith
        Open/ClosedOpen => Closed
        Fixed ReleaseNone => SCM
        Triage StatusVerified => Medium Effort
    2012-09-10 psmith Triage StatusNone => Verified

    Back to the top

    Powered by Savane 3.3