job000010

matt_armstrong (Matt Armstrong)
Matt Armstrong created this job , modified by Shawn Hladky
Closed
Change in "if $(VAR) in v1 v2 v3" behavior

Until recent versions of Jam, this used to be perfectly legal syntax.

    VAR = value3 ;
    if $(VAR) in value1 value2 value3 value4 value5 {
        ECHO yep ;
    } else {
        ECHO nope ;
    }

And Jam would echo "yep."

Now it issues an error "syntax error at argument value2."  We've got
this construct sprinkled throughout our Jamfiles.

See also: http://maillist.perforce.com/pipermail/jamming/2002-February/001590.html
1489Revert syntax of "expr : expr `in` expr" to jam 2.3's
"expr : arg `in` list", because:

a) It broke the precedence of `in` so that it was looser than
!, parsing "! xxxx in yyy" as '( ! xxx ) in yyy".

b) It didn't allow providing an in line list as "$(f) in a b c".

Change to unreleased behavior.
  • Details
  • Comments -
Status
Closed
Project
jam
Severity
A
Reported By
Matt Armstrong
Reported Date
Modified By
Shawn Hladky
Modified Date
Owned By
richard_geiger
Dev Notes
Assume this means a change since 2.3.2