Le 01/06/2015 15:48, Steven Blatnick a écrit :
[…]
Odd, I don't see this reply from Marius in my inbox. Was this in private separately?
No, it was sent to the mailing list just like the rest… maybe a spam filter got confused?
[…]
BTW, @Steven: search_find_text() is *NOT* part of the Geany plugin API and never have been. The fact you can use it is a issue of the way Geany API was exported, and it is fixed in the dev version (meaning it won't work anymore). Not also that this never worked on Windows.
Thanks for the information. I wonder if any of my other plugins include non-API calls. Is there an easy way to tell what is allowed and what shouldn't be?
Anything not in the API documentation shouldn't be used. And as said the current Geany development version (1.25) has this fixed so you plugin shouldn't load anymore if it uses something it shouldn't.
Is there a reason we don't allow plugins to tie into anything when they could besides trying to stop plugins from being overtly complicated or breaking things?
The reason is that we don't want to break the API every few minutes, so this means it has to be defined. This can't reasonably include every function in Geany, as it would basically mean we can't change anything inside Geany without potentially breaking plugins.
So we choose what to render public (based on needs basically), and we then commit to maintain this API (to a reasonable extent, at least, meaning we will only change it if there is an important reason to).
To use the example of search_find_text() as how non-API things can change, this function actually changed in the 1.24 cycle [1] to fix a real problem.
All this said, if you need a function that isn't part of the API, ask (or make a PR!) and we'll probably be happy to add it if it makes sense.
Regards, Colomban
[1] http://git.geany.org/geany/commit/?id=5412a244ba903624053cdaf7393732bc3af689...