[Geany-devel] geany-plugins depends on GIO

Frank Lanitz frank at xxxxx
Wed Nov 17 08:29:28 UTC 2010


Am 17.11.2010 01:03, schrieb Lex Trotman:
> On 17 November 2010 10:22, Colomban Wendling <lists.ban at herbesfolles.org> wrote:
>> Le 16/11/2010 23:32, Lex Trotman a écrit :
>>> On 17 November 2010 03:11, Frank Lanitz <frank at frank.uvena.de> wrote:
>>> Just a question, shouldn't plugins be checking the ABI version was
>>> what they conpiled with not the Geany version?
>> I think this is not the question: Updatechecker wants to know the Geany
>> version to check whether there is a newer one, it's not a plugin
>> development need, but a goal.
> Ah Ha!! I see, I'd missed the actual purpose of the plugin :-D
>
> In that case I guess the three ints and some chars would be best for
> relative comparison, assuming thats how Geany is going to continue to
> do its versioning.
>

Personally I don't see any big need for a change here.

>> Of course, to check a functionality at runtime, a plugin should use the
>> API version (and then getting the Geany version is quite specific).
>>
>> BTW since you speak of this, I think API version should be made more
>> visible. The API version in which each function appeared should appear
>> in the doc rather than the Geany version it appeared in.
> Agree.  But also "in which version did the functions parameters and/or
> semantics change" is more important.  If that change is newer than the
> plugin then the plugin shouldn't try to run.
>
> This would make
>> easier for plugin developers to know for which version check.
>> Also, perhaps a compile-time check would be interesting, it would allow
>> things like "if Geany version is too old for this, it's not fatal, we
>> will do without" -- stop me if it already exists.
> The plugin only depends on the ABI it wants to use, so in a perfect
> world it would be able to check the each function it wants to call for
> the version in which it last changed.  This will allow plugins to
> continue to operate as long as possible without rebuilding.

Well, I'm not 100% sure whether its this easy given a binary blob In
fact when chaning some minor thing inside data strcutre you might need
to update all flags for all functions which might introduc other
failures. I'm not this euphoric about doing something like this.





More information about the Devel mailing list