[…] though I do think it's weird to have the closure stuff squished in the middle of the arguments list rather than more typical GLib-style `_full()` functions where the function and data are at the end of the arguments list.
How so? It's at the end, isn't it?:
```C GeanyKeyBinding *keybindings_set_item_full(GeanyKeyGroup *group, gsize key_id, guint key, GdkModifierType mod, const gchar *kf_name, const gchar *label, GtkWidget *menu_item, GeanyKeyBindingFunc func, gpointer pdata, GDestroyNotify destroy_notify);
GeanyKeyGroup *plugin_set_key_group_full(GeanyPlugin *plugin, const gchar *section_name, gsize count, GeanyKeyGroupFunc cb, gpointer pdata, GDestroyNotify destroy_notify); ```
--- Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/376#issuecomment-147512341