I think I know what's going on.
When you are moving the cursor in a big tabular inset,
InsetTabular::moveRight() etc. calls
InsetTabular::ActivateCellInset() when the cursor moves into a
new cell, which then calls
InsetText::Edit() which then calls
InsetText::SetFont() which then calls
LyXText::SetFont(). The problem here is that, in the case of
tabular, LyXTabular::cell_info[][].inset.getLyXText()->selection
is always (?) == true. Hence the whole tabular inset is cloned
into the undo stack.
Now I'd like to ask you, who sets the selection = true, and
for what purpose?
Regards,
SMiyata