Hmm...even easier than that, if you just cursor to the right after expanding the alias, and invoke
next-hotspot, it doesn't work.
I've looked into it and it appears that in order to use hotspots you have to be in a hotspot. Check out the
_OnUpdate_next_hotspot function, which eventually checks for the current hotspot. If it can't find one, it returns disabled (which means it won't run the command). When you run
select_word (or whatever) you are moving out of a hotspot into an area between hotspots, and it's getting confused.
It looks like the feature was implemented this way, so I'll have to double check with another developer who might be able to give me some insight on what the deal is, I'll keep you posted

.
- Ryan
UPDATE: Yea, it's just how it's implemented. It can be smartened up, though. Basically instead of current_hotspot only returning a hotspot if the cursor is actually within a hotspot, you would want to return the nearest hotspot if the cursor is between hotspots.
I'm not sure if I'll get a chance to mess with this soon, so if you want to have a go at it the code you want to look at is in hotspots.e around line 131 where it is checking the current offset versus the offset and length of a hotspot. If that condition isn't true, but the cursor is between two hotspots, I think if you return the index of the previous hotspot this will get you the desired behavior.