Subject: Re: bug#9448: 24.0.50; Comments in Awk scripts not fontified with comment face

From: Alan Mackenzie <[email-masked]>
Date: Thu, 8 Sep 2011 21:13:48 +0000

On Thu, Sep 08, 2011 at 02:36:24PM -0400, Glenn Morris wrote:
> Alan Mackenzie wrote:

> >     (defvar awk-mode-syntax-table)

> > . This ought to prevent my solution above from working, but it
> > doesn't. Glenn, I think you put this line in. Why? Would it be OK to
> > take it out again?

> A defvar with no initvalue just suppresses a byte-compiler warning about
> said variable being undefined. It doesn't actually define the variable,
> ...

Well, you learn something new every day.  :-)  I'd thought that (defvar
foo nil) and (defvar foo) were the same.  They're not.

> so I think that line should stay there, to stop the compiler complaining
> about an undefined variable in

>   (set-syntax-table awk-mode-syntax-table)

OK.

> (So by the way I think this means cc-bytecomp-defvar is no longer
> needed. Also cc-bytecomp-defun can be replaced by declare-function.)

There's the rub.  The more such "tidying up" changes are made in
savannah, the more difficult it becomes for me to synch changes with the
upstream CC Mode.  There're already > 80 such differences in cc-mode.el
alone.

> > Glenn, what on earth brought you to try deleting cc-fonts.elc?  It seems
> > a stroke of genius, but how did you come to consider it?  :-)

> I saw from the ChangeLog that cc-fonts was the most recent part of
> cc-mode to be changed, so I tried reverting that commit. To make it take
> effect, I deleted the old cc-fonts.elc rather than recompiling it.

And the irony is, AWK code doesn't use cc-fonts.elc for its
fontification; it uses a simple regexp based model.  ;-)

-- 
Alan Mackenzie (Nuremberg, Germany).