Juergen Spitzmueller wrote: > Are there some recordUndoInset calls missing? I can imagine that > (some of) the tabular features need this too.
Answering my own question, I think that the following is needed. Jürgen
Index: insets/insettabular.C =================================================================== RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/insettabular.C,v retrieving revision 1.481 diff -p -u -r1.481 insettabular.C --- insets/insettabular.C 18 Jul 2005 17:12:28 -0000 1.481 +++ insets/insettabular.C 28 Jul 2005 08:36:41 -0000 @@ -621,7 +621,7 @@ void InsetTabular::doDispatch(LCursor & case LFUN_CUT: if (tablemode(cur)) { if (copySelection(cur)) { - recordUndo(cur, Undo::DELETE); + recordUndoInset(cur, Undo::DELETE); cutSelection(cur); } } @@ -632,8 +632,10 @@ void InsetTabular::doDispatch(LCursor & case LFUN_BACKSPACE: case LFUN_DELETE: recordUndo(cur, Undo::DELETE); - if (tablemode(cur)) + if (tablemode(cur)) { + recordUndoInset(cur, Undo::DELETE); cutSelection(cur); + } else cell(cur.idx())->dispatch(cur, cmd); break; @@ -720,7 +722,7 @@ void InsetTabular::doDispatch(LCursor & case LFUN_PASTE: if (hasPasteBuffer()) { - recordUndo(cur, Undo::INSERT); + recordUndoInset(cur, Undo::INSERT); pasteSelection(cur); break; } @@ -1380,7 +1382,7 @@ void InsetTabular::tabularFeatures(LCurs break; } - recordUndo(cur, Undo::ATOMIC); + recordUndoInset(cur, Undo::ATOMIC); getSelection(cur, sel_row_start, sel_row_end, sel_col_start, sel_col_end); row_type const row = tabular.row_of_cell(cur.idx());