In overwrite mode, every typed character gets
handled as a delete+insert, but we should not
record these as two individually undoable
steps.
This matches how we handle overwrite mode in
GtkTextView.
Fixes: #4411
int tmp_pos;
guint text_length;
+ gtk_text_history_begin_user_action (priv->history);
+ begin_change (self);
+
priv->need_im_reset = FALSE;
if (priv->selection_bound != priv->current_pos)
tmp_pos = priv->current_pos;
gtk_editable_insert_text (GTK_EDITABLE (self), str, strlen (str), &tmp_pos);
gtk_text_set_selection_bounds (self, tmp_pos, tmp_pos);
+
+ end_change (self);
+ gtk_text_history_end_user_action (priv->history);
}
/* All changes to priv->current_pos and priv->selection_bound