unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#64204: C/C++ local variables not syntax highlighted if they start with $
@ 2023-06-20 20:54 Joseph Garvin
  2023-06-21 11:51 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 20+ messages in thread
From: Joseph Garvin @ 2023-06-20 20:54 UTC (permalink / raw)
  To: 64204

[-- Attachment #1: Type: text/plain, Size: 1204 bytes --]

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.

In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
version 1.16.0, Xaw3d scroll bars)
 of 2021-05-14 built on eruv
Repository revision: efc24f1e0bb127481bcc9c3054c57c4cd3c99aa9
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12013000
System Description: Ubuntu 20.04.6 LTS

[-- Attachment #2: Type: text/html, Size: 1443 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2023-06-28 23:19 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-20 20:54 bug#64204: C/C++ local variables not syntax highlighted if they start with $ Joseph Garvin
2023-06-21 11:51 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-06-21 19:25   ` Alan Mackenzie
2023-06-21 21:06     ` Alan Mackenzie
2023-06-22  4:50       ` Eli Zaretskii
2023-06-22  5:44         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-06-22  5:57           ` Eli Zaretskii
2023-06-22  6:18             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-06-22  6:55               ` Eli Zaretskii
2023-06-22  7:15                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-06-22 10:07                   ` Eli Zaretskii
2023-06-22 11:46                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-06-22 12:00                       ` Eli Zaretskii
2023-06-22 13:20                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-06-22  9:11         ` Alan Mackenzie
2023-06-22 10:13           ` Eli Zaretskii
2023-06-22 12:33             ` Alan Mackenzie
2023-06-28 18:45             ` Alan Mackenzie
2023-06-28 18:50               ` Eli Zaretskii
2023-06-28 23:19                 ` Joseph Garvin

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).