Hi!
First and foremost, thank you for the absolutely wonderful job you're doing with Geany!
I'm working on my plugin Djynn, which is registered as a third-party plugin at the moment. Recently some functions won't compile, it seems since 1.25, though I didn't have this problem a few months ago. Most compiles however, it's only these functions I've noticed: filetypes_detect_from_document, project_close, project_load_file, document_close_all.
All those functions generate this error: "error: implicit declaration of function ‘...’"
This means the functions aren't somehow included with "#include <geanyplugins.h>", though they are when I look in the headers, but I do notice a "#ifdef GEANY_PRIVATE" wrapping these functions. So I wonder if they are removed as available to plugins, or can I simply define GEANY_PRIVATE? Would that cause any problems? Or is there a work around I've missed?
I regularly read this list, it may be I've missed any updates or changes in the API; sorry for taking up your time in case you've already declared such changes.
Kind regards, Per Löwgren
On 2015-12-14 4:45 AM, Per Löwgren wrote:
Hi!
First and foremost, thank you for the absolutely wonderful job you're doing with Geany!
I'm working on my plugin Djynn, which is registered as a third-party plugin at the moment. Recently some functions won't compile, it seems since 1.25, though I didn't have this problem a few months ago. Most compiles however, it's only these functions I've noticed: filetypes_detect_from_document, project_close, project_load_file, document_close_all.
All those functions generate this error: "error: implicit declaration of function ‘...’"
This means the functions aren't somehow included with "#include <geanyplugins.h>", though they are when I look in the headers, but I do notice a "#ifdef GEANY_PRIVATE" wrapping these functions. So I wonder if they are removed as available to plugins, or can I simply define GEANY_PRIVATE? Would that cause any problems? Or is there a work around I've missed?
I regularly read this list, it may be I've missed any updates or changes in the API; sorry for taking up your time in case you've already declared such changes.
Hi,
The API has been fixed to not leak symbols, which it did for a few recent versions. The only functions that are public, which is how it's always been, are those documented in the API reference[0]. That you were able to compile and link against private symbols was a bug in Geany. If you need those functions though, they can likely be added to the public API with a pull request.
Cheers, Matthew Brush