[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