Hi,
Le 18/03/2015 18:11, Steven Blatnick a écrit :
On 03/18/2015 10:42 AM, Thomas Martitz wrote:
Currently geany exports a pointer to a struct, that contains more
structs, which contain function points to the API functions.
Fortunately this is nicely hidden to developers via macros. But due to
gtkbuilder all functions and nothing prevents plugins from accessing
these. And the macros are awkward and strange anyway. There is
currently the linkage-cleanup PR in the works which improves this by
actually exporting the API functions, and _only_ the API functions to
plugins.
Maybe I'm completely wrong on this from an architecture perspective, but
part of what I like about writing plugins for geany is accessibility.
If we only get access to a subset of functions, then it seems less
flexible what our plugins can actually do. Yes, this allows us to write
bad plugins that can do some sloppy things, but I say "so what". They
are plugins. […]
In addition to what Thomas said (which is very true), realize two things:
1) plugins that use functions not part of the API won't work e.g. on
Windows (for technical reasons, all functions are currently actually
usable under *NIX, but on Windows only explicitly exported ones are).
So if you care about your plugin working on Windows you'll stick to the
official API anyway (the one we commit to and maintain).
2) before Geany 1.22, you couldn't use non-API anyway. If you were
happy with the API before, you'll still be after this change.
Regards,
Colomban
_______________________________________________
Devel mailing list
Devel@lists.geany.org
https://lists.geany.org/cgi-bin/mailman/listinfo/devel