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