On 06/09/2013 03:47 AM, Lex Trotman wrote:
[...]
Sorry, but I didn't understand exactly what you were attempting to demonstrate in your example.
Please take pity on an admitted moron here and expand a bit on what is going on in the example.

Main questions:
    where does the magic number 211 come from? GEANY_VERSION_CHECK(211...)
        Lex says we're supposed to use API numbers, like 0.19. Please, as a demo, convert that to an int.
        When I try, I get zero. But, like I said, I'm a moron.

Ahhh, theres the confusion, API numbers are not version numbers, version numbers can be all over the place, 1.23, 1.23.1 etc.  API numbers are nice numbers that simply increase whenever something is chnaged in the API, currently the numbers are in the 2xx region, or for the experimental GTK3 version of Geany 3xx.

The current git geany has an API of 216, the API versions for releases are given in the table inthe wiki.

Cheers
Lex

 


_______________________________________________
Devel mailing list
Devel@lists.geany.org
https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Look, bottom line

Like I said, I'm a moron, but ...

    I wanted to write plugins in C++.

    I know C++.

    I've written and tested (successfully) "Hello World" as a Geany plugin

    When I looked at the documentation on your web site, I had two questions:

        Why does plugin_init accept a pointer to GeanyData when the example shows that a pointer to GeanyData is available as global data?
        When I use a random Geany function which is made available for the use of a plugin, under what version restriction does that place my plugin?

As a casual user of the plugin API, I don't want to ask for special treatment. Problem is, the documentation for the API is, in some places, crap. Specifically, documenting the macro GEANY_VERSION_CHECK(). Now Lex has already given excuses.  "Gee, its an implementation detail" or some such. Look it up in this thread if you are interested. But I don't give a shit. Me, I want to know when I look at the docs what the damn thing will do. Not whether it calls three levels of subroutines, one on fortran, another in asm. I want to know *what goes in* gives *what comes out*. I'll let Lex sweat the internals.

For me, the docs for GEANY_VERSION_CHECK() flunk that test.

This whole thread has been about how the poor moron (me) developer can know how to plug a number into the GEANY_VERSION_CHECK() macro. So show where in the plugin docs where that is described.