Not sure if this will help you or not... I prefer to use signals for recursion...
example:
alias do_recurse { .signal Recurse 1 }
on *:signal:Recurse_Test:{
echo Recurse Start: Level $1
if ($1 < 4) { .signal -n $signal $calc($1 + 1) }
echo Recurse End: Level $1
}
Now if you start every recursive signal name with the word Recurse, you could do the following (in a different script file)...
on *:signal:Recurse*:{ write -a signal.log $signal : $1- }
Naquada