<#macro m\-a data\-color><#local \.namespace = 123><a-b>${data\-color}<#nested \.namespace></a-b></#macro><#macro m\-b2></#macro><#macro "m/b2"></#macro>
<@m\-a data\-color="red"; loop\-var, loopVar2>${loop\-var}</@m\-a>

<#function f\-a(p\-a)><#return p\-a + " works"/></#function>${f\-a("f-a")}

<#assign \-\-\-\.\: = "dash-dash-dash etc.">${\-\-\-\.\:}
${.vars["---.:"]}
<#assign hash = {"--moz-prop": "propVal"}>${hash.\-\-moz\-prop}
${hash["--moz-prop"]}

<#assign ls\:a = 1..3>List: <#list ls\:a as \:i>${\:i}</#list>

<#assign sw\-a = 1>Switch: <#switch sw\-a><#case 1>OK<#break/>
    <#default>Fails
</#switch>
<#escape \-x as \-x?upper_case>${"escaped"}</#escape>

<#if false && sw\-a == 1><#visit x\-y2 using x\-y1/><#recurse x\-y2 using x\-y1/><#import i\-a as i\-b/><#include i\-c/></#if>
<#assign @as@_a = "as1">${@as@_a}
<#assign as\-c = "as2">${.vars["as-c"]}
<#assign "as/b" = "as3">${.vars["as/b"]}
<#assign "as'c" = "as4">${.vars["as'c"]}
<#assign 'as"d' = "as5">${.vars['as"d']}

<#global g\-a = 1, g\-b = 2, g\-c = 3><#macro dumpNS><#list .namespace?keys?sort as k>${k} = <#local v = .namespace[k]><#if v?is_string>${v}<#else>...</#if>
</#list></#macro><@dumpNS/>