To reproduce, save the attachment as `font-lock-hangs.el' and execute:

    $ emacs -Q -l font-lock-hangs.el

C-g doesn't help anymore. The only thing you can do is to kill and start Emacs anew.

Git commit fd1ee05977.

To quote a discussion from another bug, the reply is from Eli Zaretski:

> > By the way, it would really be nice if Emacs could do something about hangs irrespective of what causes
> > that. Even if Elisp code is buggy, Emacs itself should never allow it to fall into an infinite loop and stop
> > responding to C-g, leaving full restart as the only way out.
>
> I think that's impossible in general, unless we restrict what Lisp
> programs can do.  Every programming language can be used to write a
> buggy program.
>
> However, it should be possible to prevent some cases of such
> problematic behavior, certainly so when the infloop is caused by our
> bug.  But for that we need to know the details of the specific case in
> order to investigate.

Paul