==== tools/jam/src/expand.c#1 (text) - tools/jam/src/expand.c#3 (text) ==== content @@ -113,6 +113,24 @@ return list_copy( l, lol_get( lol, in[2]-'1' ) ); } } + else if ( in[0] == '$' && in[1] == '(' && in[2] == '1' && in[4] == ')' && + in[5] == '\0') { + + switch( in[3] ) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + return list_copy( l, lol_get( lol, in[3]-'0'+10-1 ) ); + } + } /* Expand @() files, to single item plus accompanying file. */ @@ -368,6 +386,9 @@ value = lol_get( lol, 1 ); else if( varname[0] >= '1' && varname[0] <= '9' && !varname[1] ) value = lol_get( lol, varname[0] - '1' ); + else if( varname[0] == '1' && varname[1] >= '0' && + varname[1] <= '9' && !varname[2] ) + value = lol_get( lol, varname[1] - '0' + 10 - 1 ); else value = var_get( varname ); ==== tools/jam/src/lists.h#1 (text) - tools/jam/src/lists.h#2 (text) ==== content @@ -63,7 +63,7 @@ typedef struct _lol LOL; -# define LOL_MAX 9 +# define LOL_MAX 19 struct _lol { int count; ==== tools/jam/test/test.jam#1 (text) - tools/jam/test/test.jam#2 (text) ==== content @@ -50,6 +50,7 @@ include option_n.jam ; include parallel_actions.jam ; include parallel_multifile_actions.jam ; +include rule_param.jam ; include stress_var_expand.jam ; include target_var.jam ; include var_expand.jam ;