<blockquote>
<p>[…] 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 <code>_full()</code> functions where the function and data are at the end of the arguments list. </p>
</blockquote>

<p>How so?  It's at the end, isn't it?:</p>

<div class="highlight highlight-source-c"><pre>GeanyKeyBinding *<span class="pl-en">keybindings_set_item_full</span>(GeanyKeyGroup *group, gsize key_id,
        guint key, GdkModifierType mod, <span class="pl-k">const</span> gchar *kf_name, <span class="pl-k">const</span> gchar *label,
        GtkWidget *menu_item, GeanyKeyBindingFunc func, gpointer pdata,
        GDestroyNotify destroy_notify);

GeanyKeyGroup *<span class="pl-en">plugin_set_key_group_full</span>(GeanyPlugin *plugin,
        <span class="pl-k">const</span> gchar *section_name, gsize count,
        GeanyKeyGroupFunc cb, gpointer pdata, GDestroyNotify destroy_notify);</pre></div>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>Reply to this email directly or <a href="https://github.com/geany/geany/pull/376#issuecomment-147512341">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJyO9zN6dSiqyi4jCCJrFCYDZHumHks5o7BCogaJpZM4C4ztD.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/geany/geany/pull/376#issuecomment-147512341"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>