Hi,
[…]
The API has been fixed to not leak symbols, which it did for a few recent versions. The only functions that are public, which is how it's always been, are those documented in the API reference[0]. That you were able to compile and link against private symbols was a bug in Geany.
BTW, linking to private API never worked under Windows.
[…]
I can probably find an alternative workaround for document_close_all, e.g. iterate document_index(0) until it returns NULL, and call document_close; so I think should be ok too.
The project functions however, since Djynn is meant to integrate with the internal Geany project manager, with functions for opening and closing projects. I believe Geany would be enhanced by the possibility for plugins to open and close projects. When creating a Djynn-project a Geany-project is generated automatically, and when opening and closing Djynn-projects, the Geany-projects are opened and closed too. It's been working very well, seamlessly and invisibly, and would be a loss if I had to cut out the Geany-project integration.
I've got what might be a stupid question, but couldn't your plugin integrate with Geany projects the other way around, e.g. your plugin reacts to project open/close rather than making Geany react to your plugin's project open/close?
I must admit I didn't try your plugin, but there are a few other plugins enhancing Geany's project support, and AFAIU they do this by listening to Geany project open/close and add their own logic to that.
Anyway, I'm sure document_close_all could be used by many plugins, but filetypes_detect_from_document is not needed. The project functions would be much appreciated. That's all on my xmas wishlist :)
Adding `document_close_all()` sounds reasonable indeed. Out of curiosity, why do you need it? Project stuff might be too, depending on your answer on the above project-related question.
Regards, Colomban