I have removed all bacon-message stuff from Gedit, even the ASCII protocol they are using for communications and replaced it by a Dbus interface. In order to make it extensible while preventing it from breaking compatibility I added a GHashTable as argument to this interface, so extensions to it do not need to modify its signature, and so, will be compatible with older versions of the service. Besides, i added read-only metadata support, that is automatically set whenever the bus shuts down, to prevent concurrent writing access to Gedit’s metadata file. Finally, I implemented a single instance pattern for the Dbus gobject.
Now it is testing time….