This happens because of the order in which tags are processed. Ideally, they'd be processed from left-to-right in the reply but I haven't come up with a very elegant way of doing this (if you have any ideas, let me know). So instead, it does full regexp search-and-replace operations for all the tags in a certain order.
The relevant tags/orders are:
1. <bot *=*>, <env *=*>
2. <bot>, <env>
3. {formal}/{person}/{uppercase}/{lowercase}
4. <set>
5. <add>/<sub>/<mult>/<div>
6. <get>
It happens this way so that things like this work:
- <set name=<bot name>>
- <set name={formal}<star2>{/formal}>
- <set name=<formal>>Hello, <get name>!
But as a consequence, {formal}<get>{/formal} doesn't work, and neither does <set copy=<get original>>, etc.
On Mon Mar 03 13:52:47 2014, mgieretz wrote:
Show quoted text> is this the correct behavior of the {formal} or <get> tag:
> if there is an <get> inside a {formal}, the <get> seems not working
>
> example:
> + tell me my name
> - you are <get name>
> - {formal} greetings, <get name>{/formal}
>
> results in:
> you are martin
> or
> Greetings, undefined
>
> can pleas check this?
>
> bye
> Martin
>