<blockquote>
<p>My point is that even if no plugin uses the fields you still can't just go and change them without consideration.</p>
</blockquote>

<p>Not without consideration, but here's a perfectly valid thing we could do if the members are not "public":</p>

<div class="highlight highlight-source-c"><pre><span class="pl-c">// before</span>
<span class="pl-k">struct</span> GeanyFoo {
    gboolean do_not_delete_all_files;
};
<span class="pl-c">// after</span>
<span class="pl-k">struct</span> GeanyFoo {
  gboolean delete_all_files;
};</pre></div>

<p>As long as the structure layout doesn't change, we are free to use that slot as we wish.</p>

<blockquote>
<p>How's this a problem?</p>
</blockquote>

<p>The more API we expose, particularly unnecessarily, the more we have to maintain compatibility with, and the greater the chance that we will break plugins if we need/want to change it, not to mention confusing the API by exposing/documenting types that cannot be used (like the <code>GeanyBuild*</code> ones you fixed in this PR). It's one thing if a plugin developer makes a request and asks to have some part of the API exposed in order to be able to write the plugin, but it's quite different to just start exposing new API in the middle of a PR that is simply meant to correct/improve existing API documentation, especially when you haven't even explained why the size and layout of the structure needs to be known by GI, given that the member is after all public members in a structure that is only ever used by pointer.</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/commit/302b40e9778ff49407902f3ef9f272ed202f4547#commitcomment-15078186">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ_P9NTzuTL89Nv-aqMtdWvFHfFJuks5pRKdRgaJpZM4G3NbP.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/commit/302b40e9778ff49407902f3ef9f272ed202f4547#commitcomment-15078186"></link>
  <meta itemprop="name" content="View Commit"></meta>
</div>
<meta itemprop="description" content="View this Commit on GitHub"></meta>
</div>