I think the resulting expressions using paren'd function notation is fine. But.. it's a bit odd to see "if( foo )" and "elseif( bar )" without a space, though it does seem to parse correctly. Dunno if it's worth adding a special-case check for conditional keywords vs. function name in prepare_output. ~ Deb