On 2015-06-21 04:25 AM, Dimitar Zhekov wrote:
On 21.6.2015 г. 06:12, Matthew Brush wrote:

I just noticed that the new spawn code exposes almost every single bit
of API possible. Do we really want to do that, or should we limit it
only to what is currently needed by any plugins? A quick survey of
Geany-Plugins shows no usage of any of this yet.

IMO, we shouldn't expose anything which is not needed by plugins,
especially if it's not related to the plugin API.

The API is designed not only to ease/fix the spawn pipe I/O, but as a
possible replacement for all glib spawn functions - and these may be
invoked by any plugin. (There is no replacement for g_spawn_close_pid,
which works fine, and for g_spawn_check_exit_status, because it's 2.34+
only - instead, the WIF* macros are defined system-independently.)

Spawn neither requires not uses anything from Geany (except i18n), and
does not change anything in Geany state, so it's functions are not
strictly "Geany" - it could be a separate library just as well.


Yeah, it almost should be a "separate" library (at least like TM or MIO). Personally I don't like the tendency of Geany's plugin API to be getting bloated with stuff that has nothing to do with Geany or plugins, but rather general purpose stuff making up for shortcomings in GLib, or general-purpose convenience functions. But I think maybe this is a conversation for another day.

In the next plugins (after this release), Scope will require at least
WIF*, spawn_kill_process, SpawnFlags, SpawnReadFunc,
spawn_with_callbacks, SpawnWriteData and spawn_write_data.
It'll be good if 'debugger' uses them as well...


I figured there would be some use in at least Scope. Do you have any problem if we make all the API private for now and then as you need it in Scope (or any other plugins requesting it) we can export precisely what is needed, at that time?

Cheers,
Matthew Brush

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

Reply via email to