Andre Poenitz <[EMAIL PROTECTED]> writes:

| I think I know what's going on...
| 
| Suppose we have a macro corresponding to
| 
|   \newcommand\t[1]{(#1)}
| 
| and an inset that looks like:
| 
|   \t{\t{x}}
| 
| This should render as ((x)) but it currently renders as (x)...
| 
| The problem is that t's argument takes two different values during one call
| to the "outer" drawing ( \t{x} in the first level, and only x in the
| second), so results get overwritten.

yes, this was part of my wish to use shared_ptr... but I am not sure
that would have worked anyway...
 
| Note that the error does only occur if one nests the _same_ macro:
| 
|   \newcommand\a[1]{a#1a}
|   \newcommand\b[1]{b#1b}
|  
|   \b{\a{x}}
| 
| renders just fine!
| 
| I think the proper solution of this is indeed to create a temporary deep
| copy of the template and to replace every MathMacroArgument by the real
| argument.

mmm
 
| Furthermore, I think it is not really necessary to fix this _now_. This
| particular thing seemingly has never worked, so nobody could possibly
| depend on it, and I'd rather cleanup the tool box (MathIter etc) first
| before building something that needs to be cleaned up later again.
| 
| Comments?
|

We need to get the cursor working properly before we do a lot of new
things.

        Lgb

Reply via email to