1 2 <?cs def:Date._weekday(day,four) ?> 3 <?cs each:wday = Days ?> 4 <?cs if:wday == day ?> 5 <?cs var:wday.Abbr ?> 6 <?cs /if ?> 7 <?cs /each ?> 8 <?cs if:day == "6" ?> 9 <?cs var:Days.0.Abbr ?> 10 <?cs elseif:day == "0" ?> 11 <?cs var:Days.1.Abbr ?> 12 <?cs elseif:day == "1" ?> 13 <?cs var:Days.2.Abbr ?> 14 <?cs elseif:day == "2" ?> 15 <?cs var:Days.3.Abbr ?> 16 <?cs elseif:day == "3" ?> 17 <?cs var:Days.4.Abbr ?> 18 <?cs elseif:day == "4" ?> 19 <?cs var:Days.5.Abbr ?> 20 <?cs elseif:day == "5" ?> 21 <?cs var:Days.6.Abbr ?> 22 <?cs /if ?> 23 <?cs /def ?> 24 25 26 <?cs def:echo(wow) ?> 27 <?cs var:$wow ?> 28 <?cs /def ?> 29 30 before weekday 31 32 <?cs call:Date._weekday(Wow.Foo,#5) ?> 33 34 before echo 35 36 echo a variable: 3 37 <?cs call:echo(Wow.Foo) ?> 38 echo a string: hellow world 39 <?cs call:echo("hello world") ?> 40 echo a number: 5 41 <?cs call:echo(#5) ?> 42 43 <?cs def:call_echo(wow) ?> 44 <?cs call:echo(wow) ?> 45 <?cs /def ?> 46 47 echo a variable: 3 48 <?cs call:call_echo(Wow.Foo) ?> 49 echo a string: hellow world 50 <?cs call:call_echo("hello world") ?> 51 echo a number: 5 52 <?cs call:call_echo(#5) ?> 53 54 <?cs def:echo2(bar) ?> 55 <?cs var:wow ?> 56 <?cs /def ?> 57 58 <?cs def:call_echo2(wow, weird) ?> 59 <?cs call:echo2(weird) ?> 60 <?cs /def ?> 61 62 these tests show that local variables are live in sub calls 63 echo a variable: 3 64 <?cs call:call_echo2(Wow.Foo, "error") ?> 65 echo a string: hellow world 66 <?cs call:call_echo2("hello world", "error") ?> 67 echo a number: 5 68 <?cs call:call_echo2(#5, "error") ?> 69 70 after echo 71 72 <?cs def:print_day(d) ?> 73 <?cs var:d ?> == <?cs var:d.Abbr ?> 74 <?cs /def ?> 75 76 testing macro calls in local vars in an each 77 <?cs each:day=Days ?> 78 <?cs call:print_day(day) ?> 79 <?cs call:echo(day.Abbr) ?> 80 <?cs /each ?> 81