Subject: bug#42522: Emacs 27: 100% CPU when setting mode-name with ligatures

From: Robert Pluim <[email-masked]>
Date: Sat, 25 Jul 2020 19:22:19 +0200

>>>>> On Sat, 25 Jul 2020 09:24:47 +0300, Eli Zaretskii <[email-masked]> said:

    >> From: Evan Moses <[email-masked]>
    >> Date: Fri, 24 Jul 2020 14:35:50 -0700
    >> 
    >> To reproduce, evaluate this
    >> 
    >> (set-char-table-range composition-function-table 47 '([".\\(?:\\(?:\\*\\*\\|//\\|==\\)\\|[*/=>]\\)" 0
    >> font-shape-gstring]))
    >> 
    >> And then evaluate 
    >> 
    >> (setq mode-name "test//")
    >> 
    >> Emacs will become unresponsive and consume 100% CPU.

    Eli> It doesn't hang here.  Could this be macOS-specific?  Or maybe the
    Eli> problem happens only with some fonts?  Does it happen in "emacs -Q"?

I see this on macOS with -Q, which uses Menlo, but only with emacs-27,
not master.. I do see an 'Attempt to shape unibyte text' message from
emacs-27

Robert