A short request for comments to prepare the step after the macro stuff:

Currently \eqnarray and math tables are internally stored as a single
inset with "embedded" TABs and CRs to mimic "next cell in a row" and "next
row". In parallel to this structure there exists another structure that
handles labels and numbers (which is somewhat difficult to keep in sync
with the "real" structure as you might have noticed in current CVS...)

Apart from a couple of disadvantages (implementation-wise) this has a big
advantage: It is comparatively easy to implement cutting and pasting
parts of an array or a matrix that span more than one "entry" _including_
parts of an "entry".

I think a more suitable implementation of matrices and array would involve
a one-dimesional array (i.e. std::vector) of "row structures", each holding
another one-dimensional array of "entries", an optional number, and an
optional label. 

Obtaining the current functionality with this "new" internal layout should
be obvious in most cases, but implementing that "cut & paste of one entry
and a half" would be more demanding.

I do not think that it will be impossible, it's just a bit ugly, but if
nobody uses that feature regularly, I'd rather drop it entirely and keep
the implementation small...

[I have to rework that part anyway in some way or another, since
labels/numbers for multiline stuff seems still to be broken...]

Andre'

PS: Would be nice to get some more feedback to the "macro monster patch",
otherwise I'll have a hard time to force-feed this down Lars's throat ;-}

-- 
André Pönitz ............................................. [EMAIL PROTECTED]

Reply via email to