NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: bin/41998: /usr/bin/make: .for loop + ":" inside iter_var = bug

The following reply was made to PR bin/41998; it has been noted by GNATS.

From: David Laight <>
Subject: Re: bin/41998: /usr/bin/make: .for loop + ":" inside iter_var = bug
Date: Sat, 5 Sep 2009 22:09:44 +0100

 On Sat, Sep 05, 2009 at 08:15:01PM +0000, wrote:
 > >Number:         41998
 > >Category:       bin
 > >Synopsis:       /usr/bin/make: .for loop + ":" inside iter_var = bug
 .for variables are substituted by converting to ${U:<text>} in order
 to preserve the semantics of a variable substitution.
 The <text> gets certain characters \ escaped (including ':').
 The simpler test:
 .if ${:Uaaa\:bbb} == ""
 also fails.
 The problem is that .if processing also strips escapes.
 Fix - one I've been thinking about - is to put .for variables into the
 symbol table, and only do the ${:U...} translation on text that is
 saved for parsing later (ie the body of rules).
 That saves processing most .for body text for these substitutions.
 David Laight:

Home | Main Index | Thread Index | Old Index