<p>In <a href="https://github.com/geany/geany/pull/839#discussion_r48299305">tagmanager/src/tm_source_file.c</a>:</p>
<pre style='color:#555'>> @@ -35,6 +35,14 @@
>  #include "tm_source_file.h"
>  #include "tm_tag.h"
>  
> +typedef struct
> +{
> +  TMSourceFile public;
> +  gint refcount;
> +} TMSourceFilePriv;
> +
> +#define SOURCE_FILE_NEW(S) ((S) = g_slice_new(TMSourceFilePriv))
> +#define SOURCE_FILE_FREE(S) g_slice_free(TMSourceFilePriv, (TMSourceFilePriv *) S)
</pre>
<p>these two macros might not be sensible, tmtag is like that but I'm not quite sure it helps at anything as we have only 1 call site for each, so it only adds indirection</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/839/files#r48299305">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJwRVN2TCf1KG8LFh1Pej2NsIt1jcks5pSbYCgaJpZM4G6HUp.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/839/files#r48299305"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>