<p>I don't think this needs to be or should be defined in a public header. It was <a href="https://github.com/geany/geany/commit/721009e262e9bc279122566a60e14af0048d9094#diff-a6498e6de1fbc3174b0ce344a1e3b758R265">added here</a>, I suspect in order to provide documentation for it. Unless I'm mistaken, this function needn't be forward declared as it's just pulled out of the plugin DSOs using <code>g_module_get_symbol()</code>.</p>

<p>The reason it's an issue is two-fold. One is because it appears as though it's a public function which plugins should be able to call. More problematically, it prevents plugins from declaring it in their own way which is still compatible with the calling convention. For example, in C++ plugins, it prevents add a <code>noexcept</code> or similar specifiers because the (unused) forward declaration in the header doesn't have the same signature as the actual implementation.</p>

<p>I propose to move it to one of the *.dox files in the documentation directory so that it can still be documented but prevent interfering with plugins.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany/issues/1215">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJyjZ9K5b9eRMCvvXo0FuPwle5nB1ks5qnNkGgaJpZM4J1bF3">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ-ezrano7Awgli_6yrdFA9eMJz_Hks5qnNkGgaJpZM4J1bF3.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/issues/1215"></link>
  <meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany","title":"geany/geany","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany"}},"updates":{"snippets":[{"icon":"DESCRIPTION","message":"Plugins: Needless forward declaration of geany_load_module() (#1215)"}],"action":{"name":"View Issue","url":"https://github.com/geany/geany/issues/1215"}}}</script>