+ # try to detect common case where cursor goes inside an block,
+ # but doesn't pass a character (and advance one more in that case)
+ if new_cursor.n isnt @cursor.n and new_cursor.i is 0
+ if new_cursor.n.type is 'text' and new_cursor.n.text.length > 0
+ if new_cursor.n.parent?
+ unless @is_display_block new_cursor.n.parent
+ # FIXME should test run sibling
+ new_cursor = new_cursor_position n: new_cursor.n, i: new_cursor.i + 1
+ if new_cursor?
+ if new_cursor.n isnt @cursor.n or new_cursor.i isnt @cursor.i
+ @move_cursor new_cursor
+ @on_key_backspace e