[Geany-Devel] Spawn module API

Dimitar Zhekov dimitar.zhekov at xxxxx
Thu Jun 25 16:08:56 UTC 2015


On 24.6.2015 г. 01:18, Matthew Brush wrote:
> On 2015-06-23 09:04 AM, Dimitar Zhekov wrote:
>>
>> [...]
>  From you're previous email you mentioned the stuff checked with [x] below:
>
> [x] spawn_kill_process()
> [x] spawn_with_callbacks()
> [x] spawn_write_data()
> [x] SpawnFlags
> [x] SpawnReadFunc
> [x] SpawnWriteData
>
> Is that sufficient, or is there other stuff? I will remove the /** from
> anything that is not expected to be needed, if nobody objects.

Well, I can't be 100% sure before the implementation, but since 
everything in spawn is stateless, I can simply copy anything else, 
should need be, as a temporary measure.

> About the WIF* macros, those (at present) are not "officially" part of
> the plugin API as they have no Doxygen comments

They are documented in POSIX wait [1]. Though, as being defined by Geany 
under Windows, a short Doxygen comment may be needed.

 > Well you know my opinion :) [...] I think we all
 > also agree it's stupid for plugins to have to copy&paste code that
 > exists already or else use an inferior version.

On that note, scope/src/plugme contains functions that I need exported 
from Geany since forever. Especially 
plugme_ui_setup_open_button_callback(), which is defined in several 
plugins under different names with varying quality. IIRC, the original 
Geany functions support Windows native file selection dialogs, but no 
plugin does. "Inferior version"-s.

 > regardless if something possibly better[1] like GProcess comes
 > available to us, and we don't even use it internally anymore.
 > [1]: I have no idea if it's better, just an example.

If it's based on the glib spawning functions, it'll be no better than 
them. And as long as the glib developers want to support 
G_SPAWN_LEAVE_DESCRIPTORS_OPEN under Windows and convert anything to 
UNICODE, the glib functions will not improve.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/functions/wait.html

--
E-gards: Jimmy


More information about the Devel mailing list