Am 28.06.2015 um 05:14 schrieb Matthew Brush:
On 2015-06-27 07:54 PM, Lex Trotman wrote:
On 28 June 2015 at 12:40, Matthew Brush <mbr...@codebrainz.ca> wrote:
On 2015-06-27 12:46 PM, Dimitar Zhekov wrote:

[...]

An updated list of the API-s asked to remain public:

me    WIF*
lex    spawn_get_program_name
lex    spawn_check_command
me/lex    spawn_kill_process
      spawn_async_with_pipes
lex    spawn_async
me/lex    spawn_with_callbacks
me    spawn_write_data
lex?    spawn_get_exit_status_cb
lex    spawn_sync


We should only export what you have concrete plans to use during the next cycle. If Lex wants update plugins during the next cycle to use other parts of the API, we can expose them at the time that the PR is made. No point to
speculatively expose API that nobody has immediate plans to use.

If no API is available then nobody will have any plans so no API is
needed so nobody will have any plans for the egg so no chicken is
needed so ....


It can easily be made available on-demand, as normal.

We should only be concerned about what Scope is requesting as it has concrete plans to use them during the next development cycle and doesn't want the plugin to depend on the next development version of Geany during that time[0]. There's no reason to speculatively rush other APIs in if no plugins have immediate plans to use them nor have the concern about depending on the development version of Geany.


Depending on a development version of Geany can be a concern.

I don't want to judge on the specific spawn_* APIs. But why not just release with the APIs being available (linkable by plugins) without already setting them officially in stone. In other words, find a method to mark these APIs experimental so that we can more easily change or remove them. This experimental flag should be set for at least one release cycle (but perhaps more depending on the situation). Then only plugin developers that are prepared to adapt their plugins quickly can use them (likely the same plugin developers who pushed the API into Geany for their plugins in the first place). Arguably, this should be the default process for any new API (IMO).

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

Reply via email to