Investigating bug 14281[1], I found this passage in the Elisp manual[2]:
The functions you use in these [change] hooks should save and restore the match data if they do anything that uses regular expressions; otherwise, they will interfere in bizarre ways with
the editing operations that call them.
I suppose that caveat would pin the bug on one of the third party packages I use. However, why couldn't Emacs save off the match-data itself and restore it after the after-change-functions? Is there any
legit situation where a change hook would want to change the match-data in effect after the change hook returns?