Ah, you're right -- if I wait 45 seconds or so, it finally finishes and moves on,
and that file has strings that should have matched it.  And it needs to match all the text
from the start of the file, since string starts and string ends look the same.  And the result is the same
if I search for any other string that first occurs deep into the file.

Thanks, it's not a bug in emacs!



On Wed, Jun 1, 2022 at 8:35 AM Lars Ingebrigtsen <larsi@gnus.org> wrote:
"Daniel R. Grayson" <danielrichardgrayson@gmail.com> writes:

> Okay, I did that, and it seems to be this:
>
> (defconst M2-mode-font-lock-keywords
>           '("///\\(/?/?[^/]\\|\\(//\\)*////[^/]\\)*\\(//\\)*///" .
> 'font-lock-string-face) )

That's a regexp with a lot of backtracking, I think (i.e., elements that
can be matched both by the ?'s as well as the two *'s).  So matching
this will be slow, which results in the hangs you're seeing when Emacs
is trying to match that to the text in the buffer.

--
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no