User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0 Build Identifier: The most common undo case is an INS. Since we store the contents of an INS in the str field in the UndoInfo struct, we wind up storing all the work done on a document twice in memory - one in the undo_stack, broken up into pieces, and again in the buffer itself However, since an insertion is undone by a deletion, the only reason to fill the str field in the UndoInfo struct for a INS is so that it can be redone. We can fill the field on the fly from data in the buffer when the undo is processed. Alter undo_append_undo_info (or its spiritual decedent) so that it doesn't store anything in the str field during an insert. Reproducible: Always
I guess this bug was smashed when Mousepad adopted GtkSourceView(AKAIK it has undo/redo out of the box). Please check.
Yeah, the GtkSourceUndoManager stuff is totally different. If it still happens it should be filed against GtkSourceView.