+// remove all tags starting with the given prefix from the start..end range
+static void
+wxGtkTextRemoveTagsWithPrefix(GtkTextBuffer *text_buffer,
+                              const char *prefix,
+                              GtkTextIter *start,
+                              GtkTextIter *end)
+{
+    gulong remove_handler_id = g_signal_connect
+                               (
+                                text_buffer,
+                                "remove_tag",
+                                G_CALLBACK(wxGtkOnRemoveTag),
+                                gpointer(prefix)
+                               );
+    gtk_text_buffer_remove_all_tags(text_buffer, start, end);
+    g_signal_handler_disconnect(text_buffer, remove_handler_id);
+}
+