[Geany-Devel] New plugin loader mechanisms

2015-03-18 Thread Thomas Martitz
Hello, tl;dr - scroll down I am working on a new plugin architecture that deals with some of the shortcomings of the current state. My primary motivation is to be able to use libpeas to load plugins, both C and non-C (Python!), as you might have learned from other threads I started. However

Re: [Geany-Devel] New plugin loader mechanisms

2015-03-18 Thread Steven Blatnick
I personally hope whatever the group decides to do with the plugins doesn't involve requiring a rewrite of all of them, because we'll surely lose plugins and supporters that way. Concerning some of your perceived shortcomings: On 03/18/2015 10:42 AM, Thomas Martitz wrote: Currently geany

Re: [Geany-Devel] New plugin loader mechanisms

2015-03-18 Thread Thomas Martitz
Am 18.03.2015 um 21:23 schrieb Dimitar Zhekov: On 18.3.2015 г. 18:42, Thomas Martitz wrote: - Global symbols. Plugins binaries have to export a number of global symbols (geany_{functions,data,plugin}, plugin_{init,...,cleanup}). This kind of sucks, because they pollute the global namespace (in

Re: [Geany-Devel] New plugin loader mechanisms

2015-03-18 Thread Thomas Martitz
Am 18.03.2015 um 18:11 schrieb Steven Blatnick: I personally hope whatever the group decides to do with the plugins doesn't involve requiring a rewrite of all of them, because we'll surely lose plugins and supporters that way. Geany developers are committed to maintain compatibility for

Re: [Geany-Devel] New plugin loader mechanisms

2015-03-18 Thread Thomas Martitz
Am 18.03.2015 um 23:21 schrieb Matthew Brush: On 15-03-18 03:05 PM, Thomas Martitz wrote: Am 18.03.2015 um 22:15 schrieb Matthew Brush: [...] void (*init) (GeanyPlugin *plugin, gpointer pdata); Please make this gboolean. A plugin may have the correct API and ABI, but be unable to startup /

Re: [Geany-Devel] New plugin loader mechanisms

2015-03-18 Thread Matthew Brush
On 15-03-18 03:05 PM, Thomas Martitz wrote: Am 18.03.2015 um 22:15 schrieb Matthew Brush: [...] void (*init) (GeanyPlugin *plugin, gpointer pdata); Please make this gboolean. A plugin may have the correct API and ABI, but be unable to startup / initialize for some reason. For example, Scope

Re: [Geany-Devel] New plugin loader mechanisms

2015-03-18 Thread Thomas Martitz
Am 18.03.2015 um 22:23 schrieb Lex Trotman: Hi Thomas, In general this looks like an improvement to the current method of setting up plugins, except it continues to require the plugin .so file to be dlloaded just to populate the plugin manager. That will run the dll initialization code, and

Re: [Geany-Devel] New plugin loader mechanisms

2015-03-18 Thread Matthew Brush
On 15-03-18 03:55 PM, Thomas Martitz wrote: Am 18.03.2015 um 23:21 schrieb Matthew Brush: On 15-03-18 03:05 PM, Thomas Martitz wrote: Am 18.03.2015 um 22:15 schrieb Matthew Brush: [...] void (*init) (GeanyPlugin *plugin, gpointer pdata); Please make this gboolean. A plugin may have the

Re: [Geany-Devel] New plugin loader mechanisms

2015-03-18 Thread Matthew Brush
On 15-03-18 09:42 AM, Thomas Martitz wrote: Hello, tl;dr - scroll down I am working on a new plugin architecture that deals with some of the shortcomings of the current state. My primary motivation is to be able to use libpeas to load plugins, both C and non-C (Python!), as you might have

Re: [Geany-Devel] New plugin loader mechanisms

2015-03-18 Thread Thomas Martitz
Am 18.03.2015 um 22:15 schrieb Matthew Brush: [...] void (*init) (GeanyPlugin *plugin, gpointer pdata); Please make this gboolean. A plugin may have the correct API and ABI, but be unable to startup / initialize for some reason. For example, Scope requires scope.glade in the plugin data

Re: [Geany-Devel] New plugin loader mechanisms

2015-03-18 Thread Dimitar Zhekov
On 18.3.2015 г. 18:42, Thomas Martitz wrote: - Global symbols. Plugins binaries have to export a number of global symbols (geany_{functions,data,plugin}, plugin_{init,...,cleanup}). This kind of sucks, because they pollute the global namespace (in theory). Luckily on unix or win32 systems this

Re: [Geany-Devel] New plugin loader mechanisms

2015-03-18 Thread Matthew Brush
On 15-03-18 01:23 PM, Dimitar Zhekov wrote: On 18.3.2015 г. 18:42, Thomas Martitz wrote: - Global symbols. Plugins binaries have to export a number of global symbols (geany_{functions,data,plugin}, plugin_{init,...,cleanup}). This kind of sucks, because they pollute the global namespace (in

Re: [Geany-Devel] New plugin loader mechanisms

2015-03-18 Thread Lex Trotman
Hi Thomas, In general this looks like an improvement to the current method of setting up plugins, except it continues to require the plugin .so file to be dlloaded just to populate the plugin manager. That will run the dll initialization code, and may therefore break Geany. Have you thought