escape: not used
UrlArg: <?cs var:UrlArg ?>
BlahJs: <?cs var:BlahJs ?>
Title:  <?cs var:Title ?>

<?cs escape: "none" ?>
escape: none
UrlArg: <?cs var:UrlArg ?>
BlahJs: <?cs var:BlahJs ?>
Title:  <?cs var:Title ?>
<?cs /escape ?>

<?cs escape: "html" ?>
escape: html
UrlArg: <?cs var:UrlArg ?>
BlahJs: <?cs var:BlahJs ?>
Title:  <?cs var:Title ?>
<?cs /escape ?>

<?cs escape: "js" ?>
escape: js
UrlArg: <?cs var:UrlArg ?>
BlahJs: <?cs var:BlahJs ?>
Title:  <?cs var:Title ?>
<?cs /escape ?>

<?cs escape: "url" ?>
escape: url
UrlArg: <?cs var:UrlArg ?>
BlahJs: <?cs var:BlahJs ?>
Title:  <?cs var:Title ?>
<?cs /escape ?>

<?cs escape: "html" ?>
Nested escaping: html
The internal calls should take precedence
<?cs escape: "url"  ?>url  -> UrlArg: <?cs var:UrlArg ?><?cs /escape ?>
<?cs escape: "js"   ?>js   -> BlahJs: <?cs var:BlahJs ?><?cs /escape ?>
<?cs escape: "html" ?>html -> Title:  <?cs var:Title ?><?cs /escape ?>
<?cs /escape ?>

Defining the macro echo_all inside of a "html" escape.
<?cs escape: "html" ?><?cs def:echo_all(e) ?>
not used: <?cs var:e ?>
none:     <?cs escape: "none" ?><?cs var:e ?><?cs /escape ?>
url:      <?cs escape: "url" ?><?cs var:e ?><?cs /escape ?>
js:       <?cs escape: "js" ?><?cs  var:e ?><?cs /escape ?>
html:     <?cs escape: "html" ?><?cs var:e ?><?cs /escape ?>
<?cs /def ?><?cs /escape ?>

Calling echo_all() macro:
<?cs call:echo_all(Title + UrlArh + BlahJs) ?>

<?cs escape: "html" ?>
Calling echo_all() macro from within "html":
<?cs call:echo_all(Title + UrlArh + BlahJs) ?>
<?cs /escape ?>

<?cs escape: "js" ?>
Calling echo_all() macro from within "js":
<?cs call:echo_all(Title + UrlArh + BlahJs) ?>
<?cs /escape ?>

<?cs escape: "url" ?>
Calling echo_all() macro from within "url":
<?cs call:echo_all(Title + UrlArh + BlahJs) ?>
<?cs /escape ?>