<p>Well, the reason we have this like we do for old-style <code>plugin_*()</code> is specifically to check for compatibility.</p>

<p>It's not very nice if <em>really</em> compatible things are deemed not, but if the compiler thinks it's incompatible, is it really not?  Also, could you propose another way to make sure the signature is correct, or at least try and warn if it isn't?</p>

<p>As for C, are there really any pragmas or attributes, is there really some that would lead to incompatibility of the prototype here, while actually not changing how the function need be called?</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#issuecomment-244931590">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJyC4N4xKXBNDVxRswxHxzb4JuN7rks5qnVj4gaJpZM4J1bF3">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ5Z1yJGfd7h538AhW9oZshvuOsP5ks5qnVj4gaJpZM4J1bF3.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#issuecomment-244931590"></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":"PERSON","message":"@b4n in #1215: Well, the reason we have this like we do for old-style `plugin_*()` is specifically to check for compatibility.\r\n\r\nIt's not very nice if *really* compatible things are deemed not, but if the compiler thinks it's incompatible, is it really not?  Also, could you propose another way to make sure the signature is correct, or at least try and warn if it isn't?\r\n\r\nAs for C, are there really any pragmas or attributes, is there really some that would lead to incompatibility of the prototype here, while actually not changing how the function need be called?"}],"action":{"name":"View Issue","url":"https://github.com/geany/geany/issues/1215#issuecomment-244931590"}}}</script>