Subject: Re: bug#49629: 27.2; electric-pair-mode doesn't work for angle brackets in HTML file

From: Allen Li <[email-masked]>
Date: Thu, 9 Dec 2021 10:31:08 +0000

I have bisected this regression to 7fff418edf56244a1fcf54718523aa9b5cb3a854

I will cc Stefan on the miniscule chance he still remembers anything about
this and can save me time.
Otherwise, I will see if I can pinpoint the regression (or if I messed up
the bisect).

Author: Stefan Monnier <[email-masked]>
Date:   Fri Nov 29 11:51:48 2019 -0500
    * lisp/textmodes/mhtml-mode.el: Fix bug#38372

    The `sgml-syntax-propertize-rules` rely on the
`sgml--syntax-propertize-ppss`
    setup by `sgml-syntax-propertize` so it is not correct/safe to use
    them directly like html used to do.

    Change `sgml-syntax-propertize` so it can be used by mhtml,
    and then adjust mhtml-mode accordingly.

    * lisp/textmodes/mhtml-mode.el: Remove redundant `eval-and-compile`.
    Only require cl-lib at compile-time.
    (mhtml--syntax-propertize): New const, extracted from
mhtml-syntax-propertize.
    (mhtml-syntax-propertize): Use `sgml-syntax-propertize`.

    * lisp/textmodes/sgml-mode.el (sgml--syntax-propertize): New const,
    extracted from sgml-syntax-propertize.
    (sgml-syntax-propertize): Add optional `rules-function` arg.
 lisp/textmodes/mhtml-mode.el | 44
++++++++++++++++++++------------------------
 lisp/textmodes/sgml-mode.el  | 13 ++++++++-----
 2 files changed, 28 insertions(+), 29 deletions(-)

On Sun, Aug 1, 2021 at 10:41 AM Lars Ingebrigtsen <[email-masked]> wrote:

> Allen Li <[email-masked]> writes:
>
> > Thus, I resorted to actually trying to understand the code.
>
> Darn, I hate it when that happens.
>
> > I've tracked down the bug to unexpected behavior from the `scan-sexps`
> > call in this part of `electric-pair--balance-info`:
>
> I can reproduce exactly what you're seeing -- when edebugging, the
> problem goes away, etc.
>
> I put a
>
>               (redisplay t)
>
> into the function, and that also made the problem go away, but that's as
> far as I've gotten so far.  So the problem does indeed seem to be
> something related to a cache/table somewhere not having been updated...
>
> --
> (domestic pets only, the antidote for overdose, milk.)
>    bloggy blog: http://lars.ingebrigtsen.no
>