Index: openacs-4/packages/acs-templating/tcl/tag-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/tag-procs.tcl,v diff -u -N -r1.17 -r1.18 --- openacs-4/packages/acs-templating/tcl/tag-procs.tcl 14 Feb 2013 15:15:04 -0000 1.17 +++ openacs-4/packages/acs-templating/tcl/tag-procs.tcl 30 Mar 2013 17:53:58 -0000 1.18 @@ -86,8 +86,8 @@ # I'm not sure why we need to eval here at all, there ought to be another solution, # but it's not clear what the intention of below statement is. - set tokens [join $tokens " "] #set tokens [eval [concat list [join $tokens " "]]] + set tokens [join $tokens " "] return $tokens } @@ -162,8 +162,8 @@ append condition "$arg1 eq {}" } else { # substitute array variables - if {! ( [regsub {^"@([a-zA-Z0-9_]+)\.([a-zA-Z0-9_.]+)@"$} $arg1 {\1(\2)} arg1] - || [regsub {^"@([a-zA-Z0-9_:]+)@"$} $arg1 {\1} arg1] ) } { + if {! ( [regsub {^"@([a-zA-Z0-9_]+)\.([a-zA-Z0-9_.]+)(;\w+)?@"$} $arg1 {\1(\2)} arg1] + || [regsub {^"@([a-zA-Z0-9_:]+)(;\w+)?@"$} $arg1 {\1} arg1] ) } { error "IF tag nil test uses string not variable for $arg1" } append condition "\[template::util::is_nil $arg1\]"