Add "text commit hooks" abstraction into sourceview
In Builder for the GTK 4 port we added the concept of "Commit Hooks" which serves a similar purpose to "insert-text" and "delete-range" signals on GtkTextBuffer.
However, they are intended to be restricted to not be re-entrant. This serves the purpose of observing what is happening in the buffer without modifying what is in the buffer. This is more useful than signal connections for some cases because you can't be certain of your signal handling ordering simply by connect/disconnect. A signal handler after you are called could modify signal connection parameters further, or even stop signal emission.
One such example that would use this, even if only internally, would be the "vim history" abstraction. But I think opening this wider in public API would be a huge help as well.