The only question is whether the semantics make any sense, as in whether returning nothing in the Python function should default to returning `FALSE` to Geany. The [API Reference](https://www.geany.org/manual/reference/keybindings_8h.html#afb2861d240a29818...) makes it sound like this is not the normal case.
It's a good question, but it will always be better than the current situation that returns a more or less random value -- I'm not sure if it's undefined or implementation defined behavior, but GCC seems to return 0. In practice, this seems to lead to no change if the Python function doesn't return, but allows it to return a value that will be passed along.
If you want returning `True` as the default case, I'm not sure what the best solution is but maybe simply assuming `None` means *"didn't return a value"* might be good enough, as it's the default return value, and not a valid value for an explicit return.
It may be useful in either case to improve [the doctstrings](https://github.com/geany/geany-plugins/pull/809/files#diff-8c19fc53e5ac66527...) to clarify this, as a separate change if need be.
Yep, definitely.