Subject: bug#53203: Comment with lots of color codes crashes or hangs emacs in scss-mode

From: Eli Zaretskii <[email-masked]>
Date: Thu, 13 Jan 2022 10:58:34 +0200

> From: Lars Ingebrigtsen <[email-masked]>
> Cc: Colin <[email-masked]>,  [email-masked]
> Date: Thu, 13 Jan 2022 08:00:18 +0100
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > It seems to infloop in JIT font-lock, and the culprit seems to be this
> > part of font-lock-keywords:
> >
> >        ;; Even though pseudo-elements should be prefixed by ::, a
> >        ;; single colon is accepted for backward compatibility.
> >        "\\(?:\\(:" (regexp-opt (append css-pseudo-class-ids
> >                                        css-pseudo-element-ids)
> >                                t)
> 
> Trying to understand the regexp used for scss here, I think that bit is
> somewhat innocuous -- it just matches those words.
> 
>        ;; Even though pseudo-elements should be prefixed by ::, a
>        ;; single colon is accepted for backward compatibility.
>        "\\(?:\\(:" (regexp-opt (append css-pseudo-class-ids
>                                        css-pseudo-element-ids)
>                                t)
>        "\\|::" (regexp-opt css-pseudo-element-ids t) "\\)"

I posted that because I saw this regexp in the backtrace obtained by
interrupting the infloop.