a,b,c parameters can be passed through into test.tpl. your problem is {.set|function|
{:{.load|test.tpl.}
:}.}
you have to macroquote all the text inside test.tpl
{: at the begin of file ,
:} at the end
and use the macro as it
{.set|function|{.load|test.tpl.}.}or
{.set|function|{.dequote|{.load|test.tpl.}.}.} with the example
by example:
{:{.add to log| loading test.tpl.}
$1 $3 $2
{.add to log|$1 $3 $2.}
:}then "load" is executed before "set" and parameters are replaced correctly
If you use a path for file with chars / or \ , the content of file is always macroquoted by hfs
another possibility is to use the macro
{.load|test.tpl|var=function.} and use
{.^function|a|b|c.} with the last one and macroquote inside test.tpl, you have to use {.dequote|{.^function|a|b|c.}.}