Subject: bug#64322: CC Mode 5.35.2 (C/*l); More incorrect type recognition

From: Alan Mackenzie <[email-masked]>
Date: Sat, 1 Jul 2023 10:43:30 +0000

Hello, Eli.

On Sat, Jul 01, 2023 at 10:10:45 +0300, Eli Zaretskii wrote:
> > From: Po Lu <[email-masked]>
> > Cc: [email-masked], Eli Zaretskii <[email-masked]>
> > Date: Sat, 01 Jul 2023 08:22:41 +0800

> > Alan Mackenzie <[email-masked]> writes:

> > > Yes.  The problem was a confusion between C++ and C regarding type
> > > definition.  In C++, "class Foo" or "struct Foo" defines a type "Foo".
> > > In C, in "struct Foo", there is no such type defined, "Foo" is merely a
> > > struct tag.

> > > This involves a one line fix in cc-langs.el, to remove items from the
> > > lang const c-typeless-decl-kwds.  Additionally, I've corrected an
> > > unrelated typo in cc-fonts.el.

> > > Would you please try out the attached patch in your real code
> > > thoroughly, and either confirm the bug is fixed, or tell me what's still
> > > wrong.  Thanks!

> > >> Thanks in advance.

> > >> Emacs  : GNU Emacs 29.0.92 (build 1, x86_64-pc-linux-gnu)
> > >>  of 2023-06-25
> > >> Package: CC Mode 5.35.2 (C/*l)
> > >> Buffer Style: gnu
> > >> c-emacs-features: (pps-extended-state col-0-paren posix-char-classes gen-string-delim gen-comment-delim syntax-properties category-properties 1-bit)

> > Seems to work here, thanks.  Eli, could we have this on the emacs-29
> > branch?

> Yes, if Alan is okay with making this change on the release branch.

My yesterday's patch amended C Mode and Objective-C Mode.  I'm now less
sure about the Objective-C Mode change than I was yesterday.  So I
propose changing only C Mode.

Yes, I will do this on the release branch today.

-- 
Alan Mackenzie (Nuremberg, Germany).