GNU bug report logs - #59216
CC Mode 5.35.2 (C++//l); Incorrect fontification of "static key_map *key_map"

Previous Next

Package: cc-mode;

Reported by: Po Lu <luangruo <at> yahoo.com>

Date: Sat, 12 Nov 2022 13:10:02 UTC

Severity: normal

Tags: wontfix

Done: Alan Mackenzie <acm <at> muc.de>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 59216 in the body.
You can then email your comments to 59216 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-cc-mode <at> gnu.org:
bug#59216; Package cc-mode. (Sat, 12 Nov 2022 13:10:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Po Lu <luangruo <at> yahoo.com>:
New bug report received and forwarded. Copy sent to bug-cc-mode <at> gnu.org. (Sat, 12 Nov 2022 13:10:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: bug-gnu-emacs <at> gnu.org
Subject: CC Mode 5.35.2 (C++//l); Incorrect fontification of "static key_map
 *key_map"
Date: Sat, 12 Nov 2022 21:09:31 +0800
Package: cc-mode

Go to src/haiku_support.cc.  Around line 171, there will be:

/* The keymap, or NULL if it has not been initialized.  */
static key_map *key_map;

the variable name will be fontified as a type!

Emacs  : GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu)
 of 2022-11-12
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)

current state:
==============
(setq
 c-basic-offset 2
 c-comment-only-line-offset '(0 . 0)
 c-indent-comment-alist '((anchored-comment column . 0) (end-block space . 1) (cpp-end-block space . 2))
 c-indent-comments-syntactically-p nil
 c-block-comment-prefix ""
 c-comment-prefix-regexp '((pike-mode . "//+!?\\|\\**") (awk-mode . "#+") (other . "//+\\|\\**"))
 c-doc-comment-style '((java-mode . javadoc) (pike-mode . autodoc) (c-mode . gtkdoc) (c++-mode . gtkdoc))
 c-cleanup-list '(scope-operator)
 c-hanging-braces-alist '((substatement-open before after) (arglist-cont-nonempty))
 c-hanging-colons-alist nil
 c-hanging-semi&comma-criteria '(c-semi&comma-inside-parenlist)
 c-backslash-column 48
 c-backslash-max-column 72
 c-special-indent-hook '(t c-gnu-impose-minimum)
 c-label-minimum-indentation 1
 c-offsets-alist '((inexpr-class . +)
		   (inexpr-statement . +)
		   (lambda-intro-cont . +)
		   (inlambda . 0)
		   (template-args-cont c-lineup-template-args +)
		   (incomposition . +)
		   (inmodule . +)
		   (innamespace . +)
		   (inextern-lang . +)
		   (composition-close . 0)
		   (module-close . 0)
		   (namespace-close . 0)
		   (extern-lang-close . 0)
		   (composition-open . 0)
		   (module-open . 0)
		   (namespace-open . 0)
		   (extern-lang-open . 0)
		   (objc-method-call-cont c-lineup-ObjC-method-call-colons c-lineup-ObjC-method-call +)
		   (objc-method-args-cont . c-lineup-ObjC-method-args)
		   (objc-method-intro . [0])
		   (friend . 0)
		   (cpp-define-intro c-lineup-cpp-define +)
		   (cpp-macro-cont . +)
		   (cpp-macro . [0])
		   (inclass . +)
		   (stream-op . c-lineup-streamop)
		   (arglist-cont-nonempty c-lineup-gcc-asm-reg c-lineup-arglist)
		   (arglist-cont c-lineup-gcc-asm-reg 0)
		   (comment-intro c-lineup-knr-region-comment c-lineup-comment)
		   (catch-clause . 0)
		   (else-clause . 0)
		   (do-while-closure . 0)
		   (access-label . -)
		   (case-label . 0)
		   (substatement . +)
		   (statement-case-intro . +)
		   (statement . 0)
		   (brace-entry-open . 0)
		   (brace-list-entry . 0)
		   (brace-list-close . 0)
		   (block-close . 0)
		   (block-open . 0)
		   (inher-cont . c-lineup-multi-inher)
		   (inher-intro . +)
		   (member-init-cont . c-lineup-multi-inher)
		   (member-init-intro . +)
		   (annotation-var-cont . +)
		   (annotation-top-cont . 0)
		   (topmost-intro . 0)
		   (knr-argdecl . 0)
		   (func-decl-cont . +)
		   (inline-close . 0)
		   (class-close . 0)
		   (class-open . 0)
		   (defun-block-intro . +)
		   (defun-close . 0)
		   (defun-open . 0)
		   (c . c-lineup-C-comments)
		   (string . c-lineup-dont-change)
		   (topmost-intro-cont first c-lineup-topmost-intro-cont c-lineup-gnu-DEFUN-intro-cont)
		   (brace-list-intro first c-lineup-2nd-brace-entry-in-arglist c-lineup-class-decl-init-+ +)
		   (brace-list-open . +)
		   (inline-open . 0)
		   (arglist-close . c-lineup-arglist)
		   (arglist-intro . c-lineup-arglist-intro-after-paren)
		   (statement-cont . +)
		   (statement-case-open . +)
		   (label . 0)
		   (substatement-label . 0)
		   (substatement-open . +)
		   (knr-argdecl-intro . 5)
		   (statement-block-intro . +)
		   )
 c-buffer-is-cc-mode 'c++-mode
 c-tab-always-indent t
 c-syntactic-indentation t
 c-syntactic-indentation-in-macros t
 c-ignore-auto-fill '(string cpp code)
 c-auto-align-backslashes t
 c-backspace-function 'backward-delete-char-untabify
 c-delete-function 'delete-char
 c-electric-pound-behavior nil
 c-default-style '((java-mode . "java") (awk-mode . "awk") (other . "gnu"))
 c-enable-xemacs-performance-kludge-p nil
 c-old-style-variable-behavior nil
 defun-prompt-regexp nil
 tab-width 8
 comment-column 32
 parse-sexp-ignore-comments t
 parse-sexp-lookup-properties t
 auto-fill-function nil
 comment-multi-line t
 comment-start-skip "\\(?://+\\|/\\*+\\)\\s *"
 fill-prefix nil
 fill-column 70
 paragraph-start "[ 	]*\\(//+\\|\\**\\)[ 	]*$\\|^\f"
 adaptive-fill-mode t
 adaptive-fill-regexp "[ 	]*\\(//+\\|\\**\\)[ 	]*\\([ 	]*\\([-–!|#%;>*·•‣⁃◦]+[ 	]*\\)*\\)"
 )




Information forwarded to bug-cc-mode <at> gnu.org:
bug#59216; Package cc-mode. (Sat, 12 Nov 2022 15:38:01 GMT) Full text and rfc822 format available.

Message #8 received at 59216 <at> debbugs.gnu.org (full text, mbox):

From: Alan Mackenzie <acm <at> muc.de>
To: Po Lu <luangruo <at> yahoo.com>
Cc: acm <at> muc.de, 59216 <at> debbugs.gnu.org
Subject: Re: bug#59216: CC Mode 5.35.2 (C++//l); Incorrect fontification of
 "static key_map *key_map"
Date: Sat, 12 Nov 2022 15:37:39 +0000
Hello, Po.

On Sat, Nov 12, 2022 at 21:09:31 +0800, Po Lu via CC-Mode-help wrote:
> Package: cc-mode

> Go to src/haiku_support.cc.  Around line 171, there will be:

> /* The keymap, or NULL if it has not been initialized.  */
> static key_map *key_map;

> the variable name will be fontified as a type!

Er, that's the variable name the same as the type name.  Is that valid
C++?  I always thought that types and variables shared a name space.

What am I missing, here?

> Emacs  : GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu)
>  of 2022-11-12
> 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)

[ .... ]

-- 
Alan Mackenzie (Nuremberg, Germany).




Information forwarded to bug-cc-mode <at> gnu.org:
bug#59216; Package cc-mode. (Sun, 13 Nov 2022 00:31:02 GMT) Full text and rfc822 format available.

Message #11 received at 59216 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Alan Mackenzie <acm <at> muc.de>
Cc: 59216 <at> debbugs.gnu.org
Subject: Re: bug#59216: CC Mode 5.35.2 (C++//l); Incorrect fontification of
 "static key_map *key_map"
Date: Sun, 13 Nov 2022 08:29:41 +0800
Alan Mackenzie <acm <at> muc.de> writes:

> Hello, Po.
>
> On Sat, Nov 12, 2022 at 21:09:31 +0800, Po Lu via CC-Mode-help wrote:
>> Package: cc-mode
>
>> Go to src/haiku_support.cc.  Around line 171, there will be:
>
>> /* The keymap, or NULL if it has not been initialized.  */
>> static key_map *key_map;
>
>> the variable name will be fontified as a type!
>
> Er, that's the variable name the same as the type name.  Is that valid
> C++?  I always thought that types and variables shared a name space.
>
> What am I missing, here?

Here's what the internet says:

  According to the C++ standard, declaring a variable with the same name
  as a type is correct code in general, but invalid code within a class
  definition. The class case is specific, because names declared in a
  class definition are visible within the whole class definition, before
  and after the point of declaration of that name. In other scopes
  (global, namespace, function, ...) declared names are visible only
  after the point of declaration.




Information forwarded to bug-cc-mode <at> gnu.org:
bug#59216; Package cc-mode. (Tue, 17 Jan 2023 19:42:02 GMT) Full text and rfc822 format available.

Message #14 received at 59216 <at> debbugs.gnu.org (full text, mbox):

From: Alan Mackenzie <acm <at> muc.de>
To: Po Lu <luangruo <at> yahoo.com>
Cc: 59216 <at> debbugs.gnu.org, control <at> debbugs.gnu.org
Subject: Re: bug#59216: CC Mode 5.35.2 (C++//l); Incorrect fontification of
 "static key_map *key_map"
Date: Tue, 17 Jan 2023 19:41:37 +0000
tags 59216 wontfix
close 59216
quit

Hello, Po.

On Sat, Nov 12, 2022 at 21:09:31 +0800, Po Lu via CC-Mode-help wrote:
> Package: cc-mode

> Go to src/haiku_support.cc.  Around line 171, there will be:

> /* The keymap, or NULL if it has not been initialized.  */
> static key_map *key_map;

> the variable name will be fontified as a type!

This doesn't seem to be happening any more.  I think one of the patches
I committed a few days ago solved (or "solved") the problem.

So I'm closing this bug as won't fix.  Hopefully, it won't show itself
again.

> Emacs  : GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu)
>  of 2022-11-12
> 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)

-- 
Alan Mackenzie (Nuremberg, Germany).




Added tag(s) wontfix. Request was from Alan Mackenzie <acm <at> muc.de> to control <at> debbugs.gnu.org. (Tue, 17 Jan 2023 19:42:02 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 59216 <at> debbugs.gnu.org and Po Lu <luangruo <at> yahoo.com> Request was from Alan Mackenzie <acm <at> muc.de> to control <at> debbugs.gnu.org. (Tue, 17 Jan 2023 19:42:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 15 Feb 2023 12:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 63 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.