<p>Makes some sense, although it would be technically possible to simply set <code>subplugin->priv->proxy_data = module</code> in <code>plugin_load_gmodule()</code> before calling <code>geany_load_module()</code>.</p>

<p>If we go the additional arg way like this (which seem mostly OK to me, see below), we need to document <code>plugin_module_make_resident()</code> doesn't work with new-style API in <code>load()</code>, and probably deprecate it.  Advertizing both functions depending on the call site seems overly odd to me.</p>

<p>However, most plugins probably only need to make the module resident after <code>init()</code> -- as <code>load()</code> will often not create <code>GType</code>s;  and if a lot of plugins end up being resident when loaded (and all installed plugins gets "loaded"), it might have a largish and unwanted memory impact.</p>

<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/719#issuecomment-152765257">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ9Wr0dnVC8DcMMAP327gK115JVB0ks5pBQydgaJpZM4GZg2a.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/719#issuecomment-152765257"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>