errmsg should be errmsg("could not serialize access due to concurrent delete"))); ?
ExecLockRows also has the same situation.
I guess the existing wording may have been using "concurrent update" in the broader sense of "concurrent modification" of the tuple, so I'm not sure that it's just an oversight.
That said, "concurrent delete" is more precise for the TM_Deleted case, so I'll change it in the code I committed. As for ExecLockRows(), I'll leave that alone unless others think we should change that too.