Subject: Re: bug#7814: Fwd: debugger entered on c-electric-paren

From: Alan Mackenzie <[email-masked]>
Date: Wed, 12 Jan 2011 19:35:22 +0000

Hi, Adam,

thanks for the bug report!

On Mon, Jan 10, 2011 at 06:45:08AM -0500, Adam Fineman wrote:
> As you'll see in the forwarded message below, I originally filed this bug
> with the nxhtml team, and they asked me to file it against Emacs.

> Entering the same file as below, I still see a backtrace at the same place,
> although the trace is slightly different:

> ------------------------
> Debugger entered--Lisp error: (wrong-type-argument listp set-from-style)
>   c-electric-paren(nil)
>   call-interactively(c-electric-paren nil nil)
> ------------------------

The value `set-from-style' is the uninitialised "global" value that
CC Mode gives certain variables ("style variables").  That a buffer's
copy of a variable still contains that value implies that nxhtml-mode has
failed to initialise CC Mode properly.

> This is the version of nxhtml that I installed:

> http://ourcomments.org/Emacs/DL/elisp/nxhtml/zip/nxhtml-2.08-100425.zip

I've downloaded that and grepped it.  There are no CC Mode initialisation
calls in php-mode.el.  For comparison, there are three such calls in
csharp-mode.el, namely:

    (c-initialize-cc-mode t)
    (c-init-language-vars csharp-mode)
    (c-common-init 'csharp-mode)

C#'s initialisation is probably correct, and could serve as a model for
PHP Mode.  In particular the call to `c-common-init' is the essential
one.

I don't have an account on Launchpad, and I really don't want to "read
the guide" or "take a tour" (I've got bugs to fix ;-), so I won't be
contributing to the bug's progress on Launchpad.  If nxhtml-mode's
maintainer wants to contact me, I'd be happy for him/her to email me
personally or on the CC Mode mailing list at [email-masked].

Thanks once again for taking the trouble to submit such a clear bug
report.

> - Adam

> ---------- Forwarded message ----------
> From: Adam Fineman <[email-masked]>
> Date: Mon, Oct 18, 2010 at 8:36 PM
> Subject: [Bug 663041] [NEW] debugger entered on c-electric-paren
> To: [email-masked]

> I open a new file '/tmp/foo.php' and start typing the following:
> =============
> <html>
> <head>
> <title>foo</title>
> </head>
> <body>
>  <?php var_dump(
> =============

> As soon as I type the '(' character, I get a backtrace:
> ===========
> Debugger entered--Lisp error: (wrong-type-argument listp set-from-style)
>  c-electric-paren(nil)
>  call-interactively(c-electric-paren)
> ===========
> This is a clean build of emacs-23.2, on Ubuntu Server 8.04.4.

-- 
Alan Mackenzie (Nuremberg, Germany).
Maintainer of CC Mode.