[Geany-devel] geany-plugins depends on GIO

Enrico Tröger enrico.troeger at xxxxx
Wed Nov 17 22:29:47 UTC 2010

On Wed, 17 Nov 2010 19:52:40 +1100, Lex wrote:


I don't want to go too deep into this discussion, just my cents:

To keep it shorter, I'm 100% agree with Colomban's statements.

>As Geany is getting more and more functionality in plugins there needs
>to be more thought in general about the need to lock Geany versions
>and plugin versions.

Yes. But not at all costs.

>If they are locked together then users can't upgrade Geany until their
>plugins support the new version and can't upgrade plugins without
>upgrading Geany.
>As I said in another post, as Geany is used for more than C
>development it is becoming less acceptable to assume that all users
>can re-compile Geany or plugins so any system needs to work at runtime
>as well as at compile time.

As already said, most users probably use distribution packages and/or
Windows binaries. I think we can ignore (don't get me wrong here :D)
Windows users as there updating Geany is really simply: download
installers, execute them, done.
The distribution packages users also can easily upgrade provided that
the package maintainers do their job, out of our responsibility.
And then, there are those users who compile from source. I think it
doesn't matter for which languages they use Geany, either the compile
Geany from source or they do not. If they do, they can do it again if
anything is incompatible, especially for SVN version users.
Don't get me wrong, I'm not against making compiling Geany
+Plugins even more easy for users. But at some point I think code
maintainability (is this a real word? :D) is also important.

>So there needs to be thought about how to allow any version of Geany
>and any version of a plugin to continue to work as long as the
>functions that they *use* have not been changed.  This means that a
>single API/ABI number for the whole interface is not enough, it needs
>to be per function.  Then smart plugin developers can make their
>plugins adapt themselves at runtime to the features available from

This leads to tons of #ifdefs or even worse, if you really want to have
per-function checks at runtime, if conditions in the code.
I think this makes maintenance of such code much harder and so it
easier tends to break which makes users even more sad.



Get my GPG key from http://www.uvena.de/pub.asc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.geany.org/pipermail/devel/attachments/20101117/ebf106e8/attachment.pgp>

More information about the Devel mailing list