Hi Eshel, I've further tweaked the code to address the second point of feedback. Looking at it now it seems a bit uglier for the "standard" insert case so I'd be willing to revert that consolidation. Overall it seems to work well both in unit tests and in my personal testing. In the last message I attached a patch with only my second commit. This new patch contains of all 3 commits: 1. The initial change 2. The change to preserve the prefix and reduce flicker 3. The change to support different modes and definitions of word. This change also includes new tests. It is worth noting that this will not work as a user may expect if `forward-word` or `forward-sexp` are bound to other functions but hopefully the included helper functions can allow users to define these functions if they need. Best, Jules