TL;DR: Fixed in the next build (this particular case, anyway).
Because of that answer's length, the Markdown diff is running in defensive mode. I'm giving an explanation of what that is (and why it's necessary) in this answer (that's about defensive mode when diffing HTML, but the problem is the same and the solution is similar).
When splitting the Markdown into tokens (think "words and punctuation") for diffing in this particular case, we end up with 2,607 tokens in revision 36, and 2,653 tokens in revision 37. Defensive diffing is enabled once the total number of tokens is above 4,000.
Defensive mode will then re-combine tokens into larger groups and compare whole groups instead of single tokens. Only neighboring changed groups are then compared token-by-token.
The re-combining of tokens mostly means grouping them line-by-line, with two additional provisions:
- consecutive whitespace is handled specially, so that indentation changes to code blocks are diff'ed nicely (this isn't relevant here), and
- underscores and asterisks are handled specially, because these formatting tags tend to work quite well for anchoring source and destination text together when we can't go word-for-word.
Because the answer in question (haha) has no bold or italics, point 2) doesn't help here. However, the answer has links, which also look like a good way to perform this anchoring, and so I've added square brackets to the characters that are handled specially as well.
This is what you complained about:
And this is what it looks like after this change:
The usual disclaimers apply – this fixes this particular and similar cases, but (as you note yourself), there will always be diffs that are suboptimal.