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

From: Allen Li <[email-masked]>
Date: Sun, 25 Jul 2021 10:08:09 +0000

On Thu, Jul 22, 2021 at 11:34 PM Lars Ingebrigtsen <[email-masked]> wrote:
>
> Allen Li <[email-masked]> writes:
>
> > What I've found so far is that using Edebug to step through
> > electric-pair-skip-if-helps-balance, if I manually step past
> > (delete-char -1) and then press g (edebug-go-mode) then the bug
> > disappears.  Pressing g before stepping past (delete-char -1) causes
> > the bug.
>
> If I remember correctly, electric-pair-mode works by doing a lot of
> magic in `post-self-insert-hook'?  In my experience, trying to edebug
> through code when that hook is running often leads to peculiar results.
>
> That is, you have to debug via other means when trying to see what's
> actually happening here, I think.  (I.e., adding `message's all over the
> place and other tedious things...)

Thanks for the advice, kind of.  I tried some printf debugging and I
noticed that
the bug goes away when I add (message "%S"
(buffer-substring-no-properties (point-min) (point-max)))
to the top of electric-pair--balance-info.  Maybe I'm being dense, but I think
that expression should not have this kind of side effect.