Deleting at the end of any expression causes the root to be selected after the deletion instead of (ideally) the preceding node or containing node.
entering symex mode while at the end of a word always causes it to select the containing expression instead of the one at point. E.g.:
def blah(hello):
print("hello")
a = 5|
print("ciao")
With point at |, entering symex mode causes the entire body of the blah function to be selected instead of either 5 or a = 5. But placing the cursor at any other point within that expression, e.g. a = |5, causes it to select correctly.
With point at
|
, entering symex mode causes the entire body of the blah function to be selected instead of either5
ora = 5
. But placing the cursor at any other point within that expression, e.g.a = |5
, causes it to select correctly.Additional context: see this comment.