<p>As for changing the API, the usual solution would be to add the new parameter and provide a default argument for it (and the default would be the "normal" behaviour, so other plugins don't even notice that there is something new). If I am not mistaken, Geany is implemented in C, and C doesn't have the feature of default arguments builtin, but there are several ways to achieve this functionality in C too. </p>

<p>All the other arguments you gave, are really convincing, so IMO, the best (and maybe easiest) way would be to extend the API.</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/issues/815#issuecomment-165033707">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ_yWxj3ZVb-mUynZ7EgA4zjReLz8ks5pQRtagaJpZM4G04_e.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/815#issuecomment-165033707"></link>
  <meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>