Subject: Re: bug#23476: 25.0.93; Visiting C files on master signals an error

From: Alan Mackenzie <[email-masked]>
Date: Sat, 7 May 2016 17:50:30 +0000

Hello, Eli.

On Sat, May 07, 2016 at 08:32:20PM +0300, Eli Zaretskii wrote:
> > From: Andy Moreton <[email-masked]>
> > Date: Sat, 07 May 2016 17:43:12 +0100

> > On Sat 07 May 2016, Eli Zaretskii wrote:

> > > If you visit any C file on the master branch with Emacs 25.0.93, Emacs
> > > asks an annoying question about unsafe local variables:

> > > If you answer "y", Emacs signals an error:

> > >   File local-variables error: (void-function c-make-noise-macro-regexps)

> > > If I do the same with Emacs built from master, the problem doesn't
> > > happen.  Did someone assume that the sources on master are only edited
> > > by an Emacs produced from that master?  If so, that's bad assumption.

Guilty as charged.

> > I assume that is due to c-make-noise-macro-regexps being a new feature
> > on the master branch. The following patch fixes it for me:

Andy, from my point of view, that patch should be committed (to master).

> Thanks.  This eliminates the error, but not the annoying question
> about unsafe variables.

The annoying question, you only need to answer once (with !).  The
setting eliminates the annoying misfontification of the constructs using
the IF_LINT macro, e.g. in window.c, in the following:

    int top IF_LINT (= 0), ...

, top now gets correctly fontified as a variable declaration, not as a
function declaration, as still happens in the emacs-25 branch.

To be fair, I did warn everybody about this in a post to emacs-devl on
2016-04-30.

-- 
Alan Mackenzie (Nuremberg, Germany).