<p>In <a href="https://github.com/geany/geany/pull/629#discussion_r41171947">src/plugins.c</a>:</p>
<pre style='color:#555'>> +
> +  /* extract file extension to avoid g_str_has_suffix() in the loop */
> +  ext = (const gchar *)strrchr(file, '.');
> +  if (ext == NULL)
> +          return FALSE;
> +  /* ensure the dot is really part of the filename */
> +  else if (strchr(ext, G_DIR_SEPARATOR) != NULL)
> +          return FALSE;
> +
> +  ext += 1;
> +  /* O(n*m), (m being extensions per proxy) doesn't scale very well in theory
> +   * but not a problem in practice yet */
> +  foreach_list(node, active_proxies.head)
> +  {
> +          PluginProxy *proxy = node->data;
> +          if (utils_str_casecmp(ext, proxy->extension) != 0)
</pre>
<p>This test is inverted, should be <code>==</code>  It only "works" with C plugins by chance because they ship with a <code>.la</code> and for some reason loading this one also works.<br>
Doesn't work with <a href="https://github.com/kugel-/geany-plugins/commit/9c27df004f1c0906970da605d6c0ffd89d0a2fed">geanypy port</a>, no python plugins show up -- and geanypy probes and tried to load all C plugins.</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/629/files#r41171947">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJwjGVYx1ejYc32t4UDqiB-lQWfR4ks5o4qrAgaJpZM4Fy7fG.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/629/files#r41171947"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>