GNU bug report logs - #64204
C/C++ local variables not syntax highlighted if they start with $

Previous Next

Package: emacs;

Reported by: Joseph Garvin <k04jg02 <at> gmail.com>

Date: Wed, 21 Jun 2023 11:28:02 UTC

Severity: normal

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

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Po Lu <luangruo <at> yahoo.com>
To: Joseph Garvin <k04jg02 <at> gmail.com>
Cc: Alan Mackenzie <acm <at> muc.de>, 64204 <at> debbugs.gnu.org
Subject: bug#64204: C/C++ local variables not syntax highlighted if they start with $
Date: Wed, 21 Jun 2023 19:51:50 +0800
Joseph Garvin <k04jg02 <at> gmail.com> writes:

> Start emacs with `emacs -Q`, press C-x C-f and type in a filename that
> ends in .cpp like "foo.cpp". Then type in:
>
> int main()
> {
>     int a = 0;
>     int b = 0;
>     int $ = 0;
>     int d$ = 0;
>     int $e = 0;
> }
>
> Yes it compiles! GCC, Clang, and MSVC all have a non-standard
> extension that allows $ signs to appear in C/C++ variable and type
> names: https://gcc.gnu.org/onlinedocs/gcc/Dollar-Signs.html
>
> Then a,b,d$ will be highlighted correctly as local vars, but not $ or
> $e. The highlighting doesn't appear to work whenever $ is the first or
> only character. Since emacs is accepting of the $ sign anywhere else in
> the variable name, I suspect supporting $ was intended, even though it's
> non-standard. Even if not intended, it's a popular syntax
> extension supported by the major current compilers and whose history
> goes back to the DEC compiler, so support would be nice.

This is a bug indeed.  Alan, would you please look into this?




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

Previous Next


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