Discussion in the "Math Macros in Child Documents" thread has revealed a
problem with how we clone buffers with parents. The set up is this: You
have a master that defines a macro, and a child that uses it. If you try
to compile just the child, it works in 1.6 but not in 2.0. The reason is
that, when we clone the child, we do not clone its parent, so it thinks
it has no parent, so the parent macros do not get exported.

It would seem we must always clone the entire set of documents. I.e.,
start with:
    buf.masterBuffer()->clone();
or something to that effect. But then we need back a pointer to buf's
clone, so clone() probably needs to return something like a map from
Buffers to their clones. Note that, if we pass this around, we can
perhaps avoid multiple clones of a single Buffer included multiple
times, which I suspect we now have.

Anyone else care to take this on?

Richard

Reply via email to