"Daniel Colascione" <dancol@dancol.org> writes:
So it turns out that it wasn't an off-by-one problem at all. Instead,
python was using (re-search-forward (rx (syntax string-delimiter))), which
was matching incorrectly because re-search-forward didn't update syntax as
it matched. It didn't do that because regex matching in general wasn't
reentrant, and it wasn't reentrant because regex bytecode programs are
self-modifying.
I checked in some work that makes regex searching update syntax as needed.
It seems there were two separate problems. The off-by-one error still
happens after your changes, so I pushed my patch to master.
[1: 05345babc9]: 2018-06-16 18:34:19 -0400
Fix off by one error in python-mode assertion (Bug#30964)
https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=05345babc988060cca540770599282102c34f2a7