<blockquote>
<p>Could also remove the cast entirely if it used the same ownership semantic for all key groups. Trades a teeny bit of performance for a small code perfume :)</p>
</blockquote>

<p>Yeah maybe it'd be better indeed.  We don't do that for key items just yet though (yet it bit me already in <a href="https://github.com/geany/geany/pull/1058" class="issue-link js-issue-link" data-url="https://github.com/geany/geany/issues/1058" data-id="159292841" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">#1058</a>).</p>

<blockquote>
<p>Otherwise it looks OK, assuming no plugins do weird things like identity (pointer) compares with the keygroup names assuming they're going to be the ones they passed in.</p>
</blockquote>

<p>All <code>GeanyKeyGroup</code> is totally private, so I don't think there's a way to access that string anyway; and as <a href="https://github.com/elextr" class="user-mention">@elextr</a> said, nobody should even try that.</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/1126#issuecomment-231344779">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe/ABDrJwMlaufz0SuCnJOlxxiZTeR8vDgRks5qTj9wgaJpZM4JHPP7">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ1cQdpeMkrDnK2ZMsg3N0cmY_POpks5qTj9wgaJpZM4JHPP7.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/1126#issuecomment-231344779"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>