Subject: Re: bug#10792: 24.0.93; emacs goes comatose opening C header

From: Eli Zaretskii <[email-masked]>
Date: Sat, 11 Feb 2012 22:17:55 +0200

> Date: Sat, 11 Feb 2012 20:05:07 +0000
> From: Alan Mackenzie <[email-masked]>
> Cc: [email-masked]
> 
> On Sat, Feb 11, 2012 at 12:26:36PM -0500, John Yates wrote:
> > When I attemt to visit the following header emacs locks up.  If
> > I make the contents of the macro significantly shorted emacs is
> > able to open and fontlock it successfully.  To me this suggests
> > some form of n-squared processing.
> 
> For once, this problem has nothing to do with font locking.

It doesn't?  If I attach GDB to Emacs, I get this Lisp backtrace:

  Lisp Backtrace:
  "c-end-of-macro" (0x827d74)
  "c-syntactic-end-of-macro" (0x827fc4)
  "c-state-safe-place" (0x828224)
  "c-literal-limits" (0x828484)
  "c-set-fl-decl-start" (0x8286d4)
  "c-context-set-fl-decl-start" (0x828924)
  0x3422320 PVEC_COMPILED
  "mapc" (0x828d04)
  "c-font-lock-fontify-region" (0x828f54) <<<<<<<<<<<<<<<<<<<<<
  "font-lock-fontify-region" (0x8292d8)   <<<<<<<<<<<<<<<<<<<<<
  "run-hook-with-args" (0x8292d4)
  "byte-code" (0x8294a0)
  "jit-lock-fontify-now" (0x829894)       <<<<<<<<<<<<<<<<<<<<<
  "jit-lock-function" (0x829c24)          <<<<<<<<<<<<<<<<<<<<<
  "recenter" (0x82f6b4)
  "end-of-buffer" (0x82f954)
  "call-interactively" (0x82fb84)

> It happens when the buffer length exceeds 3000 bytes.  :-)

You mean, the macro definition length, right?