gtkTextBufferEndUserAction are part of a single
user-visible operation. The operations between
gtkTextBufferBeginUserAction and
gtkTextBufferEndUserAction can then be grouped when creating
an undo stack. GtkTextBuffer maintains a count of calls to
gtkTextBufferBeginUserAction that have not been closed with
a call to gtkTextBufferEndUserAction, and emits the
"begin-user-action" and "end-user-action" signals only for the
outermost pair of calls. This allows you to build user actions
from other user actions.gtkTextBufferBeginUserAction(object)objectgtkTextBufferInsertInteractive, automatically call begin/end
user action around the buffer operations they perform, so there's
no need to add extra calls if you user action consists solely of a
single call to one of those functions.