Skip to content

Commit

Permalink
Fix [ab839efc5f]: text edit undo: clearing text instead of restoring.
Browse files Browse the repository at this point in the history
  • Loading branch information
fvogelnew1 committed Apr 21, 2024
2 parents 4971e0b + 6ea395a commit d34ec53
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
8 changes: 8 additions & 0 deletions generic/tkText.c
Original file line number Diff line number Diff line change
Expand Up @@ -5087,6 +5087,10 @@ TextEditUndo(
return TCL_OK;
}

if (textPtr->sharedTextPtr->autoSeparators) {
TkUndoInsertUndoSeparator(textPtr->sharedTextPtr->undoStack);
}

/*
* Turn off the undo feature while we revert a compound action, setting
* the dirty handling mode to undo for the duration (unless it is
Expand All @@ -5105,6 +5109,10 @@ TextEditUndo(
}
textPtr->sharedTextPtr->undo = 1;

if (textPtr->sharedTextPtr->autoSeparators) {
TkUndoInsertUndoSeparator(textPtr->sharedTextPtr->undoStack);
}

/*
* Convert undo/redo temporary marks set by TkUndoRevert() into
* indices left in the interp result.
Expand Down
16 changes: 15 additions & 1 deletion tests/text.test
Original file line number Diff line number Diff line change
Expand Up @@ -7039,7 +7039,21 @@ test text-27.28 {edit undo and edit redo do not leave \
} -cleanup {
destroy .t
} -result {1 1}

test text-27.29 {bug ab839efc5f - .text edit undo inserts separators} -setup {
destroy .t
} -body {
text .t -undo 1
.t insert 1.0 "1. 123 5 789012 LINE-1\n2.\n3. 123 5 789012 LINE-3\n"
.t tag add sel 3.0 3.end
.t delete sel.first sel.last
.t edit undo
.t tag add sel 3.0 3.end
.t delete sel.first sel.last
.t edit undo
.t get 3.0 3.end
} -cleanup {
destroy .t
} -result {3. 123 5 789012 LINE-3}

test text-28.1 {bug fix - 624372, ControlUtfProc long lines} -body {
pack [text .t -wrap none]
Expand Down

0 comments on commit d34ec53

Please sign in to comment.