<p><a href="https://github.com/techee" class="user-mention">@techee</a> changing <code>g_</code> to plain POSIX has the following problems I'm aware of:</p>

<ol>
<li><p>Changing anything that returns memory back to Geany from <code>g_*</code> to <code>malloc</code> means the frees inside Geany need to be changed from <code>g_free()</code> to<code>free()</code> since you can't mix them (according to the Glib <a href="https://developer.gnome.org/glib/stable/glib-Memory-Allocation.html">description section</a>)  It is going to be confusing if some memory in geany needs to be <code>g_free</code>d and some plain <code>free</code>d. And I hope none of that gets to the plugin API.</p></li>
<li><p><code>g_strerror()</code> is different to POSIX in that its guaranteed UTF-8 whereas POSIX is locale dependent.  That means it needs conversion if its to be displayed in the UI.  OT not <em>all</em> <code>g_</code> string <a href="https://github.com/geany/geany/commit/084c23bbb163fd95d00e2032698ec3371d366693">changes</a> were part of a global change <g-emoji alias="grin" fallback-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f601.png">😁</g-emoji></p></li>
<li><p>I believe <code>g_stat</code> etc work around much windows weirdness, which would have to be solved if the Glib version was not used.  (BTW why don't these get <a href="https://github.com/geany/geany/issues/605" class="issue-link js-issue-link" data-url="https://github.com/geany/geany/issues/605" data-id="100036929" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">#605</a> type problems?)</p></li>
</ol>

<p>"HTML parser? I'm too busy generating the [expletive deleted] stuff" which is why I don't have much Geany time lately.  Use the expat library.</p>

<p>IRO the new uctags parser: I understand it is intended to do local variables, but it didn't seem to provide them when I tried, and anyway what about scope for locals, and Geany does not understand scopes.  It would be a real mess if all locals were offered for completions all the time.</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/pull/1160#issuecomment-237524652">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ73RxJ-XhLALvn4k1lqnGvw1bW6Yks5qccnGgaJpZM4JbITK">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ68h8RCowAXNmjIZp55P3U9zUu3Wks5qccnGgaJpZM4JbITK.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/1160#issuecomment-237524652"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request 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://assets-cdn.github.com/images/modules/aws/aws-bg.jpg","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":"@elextr in #1160: @techee changing `g_` to plain POSIX has the following problems I'm aware of:\r\n\r\n1. Changing anything that returns memory back to Geany from `g_*` to `malloc` means the frees inside Geany need to be changed from `g_free()` to` free()` since you can't mix them (according to the Glib [description section](https://developer.gnome.org/glib/stable/glib-Memory-Allocation.html))  It is going to be confusing if some memory in geany needs to be `g_free`d and some plain `free`d. And I hope none of that gets to the plugin API.\r\n\r\n2. `g_strerror()` is different to POSIX in that its guaranteed UTF-8 whereas POSIX is locale dependent.  That means it needs conversion if its to be displayed in the UI.  OT not *all* `g_` string [changes](https://github.com/geany/geany/commit/084c23bbb163fd95d00e2032698ec3371d366693) were part of a global change :grin:\r\n\r\n3. I believe `g_stat` etc work around much windows weirdness, which would have to be solved if the Glib version was not used.  (BTW why don't these get #605 type problems?)\r\n\r\n\"HTML parser? I'm too busy generating the [expletive deleted] stuff\" which is why I don't have much Geany time lately.  Use the expat library.\r\n\r\nIRO the new uctags parser: I understand it is intended to do local variables, but it didn't seem to provide them when I tried, and anyway what about scope for locals, and Geany does not understand scopes.  It would be a real mess if all locals were offered for completions all the time.\r\n\r\n"}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany/pull/1160#issuecomment-237524652"}}}</script>