On 24 November 2010 23:54, Nick Treleaven nick.treleaven@btinternet.com wrote:
On Tue, 23 Nov 2010 09:09:59 +1100 Lex Trotman elextr@gmail.com wrote:
But the general consensus seems to be that people are happy to use static versioning and to keep conpiling (well it is the developer list) and either manually checking what has changed in an API/ABI break or (more probably) to hope that C's leaky type system catches any problem.
ABI checking is automatic, not manual (assuming the PLUGIN_VERSION_CHECK() macro is used and not manually implemented wrongly).
What I meant was that if the version fails, my guess is that most plugin devs just bump the version in their plugin and recompile and hope that the compiler catches any incompatible changes. Only the really conscientious ones will check which functions changed and if it affects their code.
I would probably accept a patch for a runtime check of Geany's API number. I'm not sure how it would be useful ATM.
Urm, PLUGIN_VERSION_CHECK() generates a function that is a runtime check doesn't it??
Don't you use:
#if GEANY_ABI_VERSION != xxx /* or whatever conditions */ #error ABI mismatch #endif
for compile time check??
Cheers Lex
Nick _______________________________________________ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel