<p><b>@b4n</b> requested changes on this pull request.</p>

<p>Is <code>GEANY_WORDCHARS</code> actually useful to anyone?  I think it's pretty much useless in most situations, and wrong in many other (e.g. it's <em>not</em> a good universal way to recognize a "word", not even for programming languages).<br>
And it's fairly easy to copy over, or even generate using I don't know, <code>'_' + string.lowercase + string.uppercase + string.digits</code> in Python, and probably something similar in another language.</p>
<p>Also, most if not all the other macros are irrelevant to non-C, like <code>foreach_document</code>, <code>documents</code> and alike.  The only potentially interesting things would be <code>TAG_*</code>, but I'm not even sure we really think it's part of the API (OK, it is, but I'm not sure we did know), and no plugin is using it ATM AFAICT.</p>
<p><code>GEANY_API_VERSION</code> is also probably uninteresting as I guess the proxy is more relevant here.</p>
<p>Anyway, the code here seem mostly good to me, but I'm not very sure it's a good or useful idea.  And if we do want macros, we should probably mark a lot of the existing ones <code>@girskip</code> in any case.</p>
<blockquote>
<p>Note also: Due to a bug in g-ir-scanner, GEANY_ABI_VERSION is parsed<br>
incorrectly (simply without the GTK version shift) but the ABI is<br>
of little relevance for GIR consumers.</p>
</blockquote>
<p>FWIW <code>GEANY_ABI_SHIFT</code> is not part of the API, and thus is not in the gtkdoc header, no surprise g-ir-scanner has a hard time :)</p><hr>

<p>In <a href="https://github.com/geany/geany/pull/1796#discussion_r173608037">scripts/gen-api-gtkdoc.py</a>:</p>
<pre style='color:#555'>> +class DoxyDefine(DoxyElement):
+    @staticmethod
+    def from_memberdef(xml):
+        name = xml.find("name").text
+        v = xml.find("initializer")
+        if (v is not None):
+            proc = DoxygenProcess()
+            text = proc.process_element(v)
+            params = ",".join(p.text for p in xml.xpath(".//param/defname"))
+            if (params != ""):
+                params = "(%s)" % params
+            d = "#define %s%s %s" % (name, params, text)
+        else:
+            d = "#define %s" % name
+
+        e = DoxyEnum(name, d)
</pre>
<p>Shouldn't this be <code>DocyDefine(name, d)</code>? (not that it actually matters much, but still)</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/1796#pullrequestreview-102836258">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ4hshje4ZfHG4qc55PJ1vo2KCQNUks5tcz5tgaJpZM4Si0pk">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ39RcZUB2QPiOgdfXmyba6v4se8Kks5tcz5tgaJpZM4Si0pk.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/1796#pullrequestreview-102836258"></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://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 requested changes on #1796"}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany/pull/1796#pullrequestreview-102836258"}}}</script>