let register_source_view (sv : GSourceView.source_view) = remove_source_view sv; registered_source_views := sv :: !registered_source_views; ignore(sv#misc#connect#destroy (fun () -> remove_source_view sv))