fix return value of modes with zero hopping, test it
Thanks to @torosdahl for spotting the bug. Let's merge, and propagate to stable and master asap. Take a look also at the comparison of modes that I implemented. I don't insist on it, but it makes sense.