- if (!prev_par.isMergedOnEndOfParDeletion(cur.buffer()->params().trackChanges)) {
- prev_par.setChange(prev_par.size(), Change(Change::DELETED));
- setCursorIntern(cur, cur.pit() - 1, prev_par.size());
+ if (!prev_cur.paragraph().isMergedOnEndOfParDeletion(cur.buffer()->params().trackChanges)) {
+ cur.recordUndo(ATOMIC_UNDO, prev_cur.pit(), prev_cur.pit());
+ prev_cur.paragraph().setChange(prev_cur.lastpos(), Change(Change::DELETED));
+ setCursorIntern(cur, prev_cur.pit(), prev_cur.lastpos());