GNU bug report logs -
#63840
29.0.91; c-ts-mode fails to fontify common C extension
Previous Next
Reported by: Po Lu <luangruo <at> yahoo.com>
Date: Fri, 2 Jun 2023 12:12:01 UTC
Severity: normal
Tags: notabug
Found in version 29.0.91
Done: Stefan Kangas <stefankangas <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
A common extension to the C language is the use of the `$' sign inside
external identifier names.
This is permitted by GNU CC on most systems it supports, and also
supported by CC Mode. However, it does not work on c-ts-mode:
sl$loadarena ()
{
struct FAB fab;
register int status;
extern char *sl$dfname;
fab = cc$rms_fab;
fab.fab$b_fac = FAB$M_BIO | FAB$M_GET;
fab.fab$l_fna = sl$dfname;
fab.fab$b_fns = strlen (sl$dfname);
status = sys$open (&fab);
if (status != RMS$_NORMAL)
return status;
/* More code below. */
}
in the identifier name of this function declarator, `sl' is fontified as
a type. `$' is not fontified at all. `loadarena' is fontified as an
identifier name, as it should be. In:
extern char *sl$defname;
only `dfname' is fontified as a variable name; in CC Mode, all
fontification is correct.
This should be a simple change in c-ts-mode's identifier fontifying
regexp to include `$', right? I don't know enough about tree-sitter to
fix it myself.
Thanks.
This bug report was last modified 1 year and 236 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.