1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 06:20:55 -08:00
emacs/lisp/progmodes
Alan Mackenzie d4346a7cc7 Add handling of the C11 _Generic construct to C Mode
This fixes bug #61481.

* lisp/progmodes/cc-engine.el (c-guess-basic-syntax): Add a new CASE 6 for
_Generic.

* lisp/progmodes/cc-fonts.el (c-fontify-types-and-refs): Use `let*' rather
than `let'.
(c-get-fontification-context): Add the new result `generic', and add handling
to determine it.
(c-font-lock-declarations): Call c-font-lock-c11-generic-clause when needed.
(c-font-lock-c11-generic-clause): New function.

* lisp/progmodes/cc-langs.el (c-generic-kwds, c-generic-key): New lang
constants/variable.
2023-02-17 09:14:10 +00:00
..
antlr-mode.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
asm-mode.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
autoconf.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
bat-mode.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
bug-reference.el bug-reference: prevent match-data clobbering (bug#61395) 2023-02-10 19:22:56 +01:00
c-ts-common.el Fix c-ts-mode indentation 2023-02-06 18:29:38 -08:00
c-ts-mode.el Merge from origin/emacs-29 2023-02-17 06:30:17 +01:00
cc-align.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cc-awk.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cc-bytecomp.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cc-cmds.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cc-defs.el CC Mode: Fix a coding bug in c-make-keywords-re. This should fix bug #61135 2023-01-30 20:02:36 +00:00
cc-engine.el Add handling of the C11 _Generic construct to C Mode 2023-02-17 09:14:10 +00:00
cc-fonts.el Add handling of the C11 _Generic construct to C Mode 2023-02-17 09:14:10 +00:00
cc-guess.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cc-langs.el Add handling of the C11 _Generic construct to C Mode 2023-02-17 09:14:10 +00:00
cc-menus.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cc-mode.el CC Mode: On removal of "typedef", remove pertinent types from c-found-types 2023-01-17 18:15:45 +00:00
cc-styles.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cc-vars.el CC Mode: Change the default value of objc-font-lock-extra-types to nil 2023-01-23 21:28:32 +00:00
cfengine.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cl-font-lock.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cmacexp.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cmake-ts-mode.el Make highlighting more regular across TS modes (bug#61205) 2023-02-05 15:50:16 +02:00
compile.el Tighten and simplify typescript compilation-mode regexps (bug#61104) 2023-02-06 17:47:00 +01:00
cperl-mode.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cpp.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
csharp-mode.el Merge from origin/emacs-29 2023-02-15 14:41:04 +01:00
cwarn.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
dcl-mode.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
dockerfile-ts-mode.el Merge from origin/emacs-29 2023-01-30 07:19:43 +01:00
ebnf-abn.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ebnf-bnf.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ebnf-dtd.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ebnf-ebx.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ebnf-iso.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ebnf-otz.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ebnf-yac.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ebnf2ps.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ebrowse.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
eglot.el Merge from origin/emacs-29 2023-02-15 14:41:04 +01:00
elisp-mode.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erts-mode.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
etags.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
executable.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
f90.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
flymake-cc.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
flymake-proc.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
flymake.el Merge from origin/emacs-29 2023-01-01 05:47:47 -05:00
fortran.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
gdb-mi.el Merge from origin/emacs-29 2023-01-01 05:47:47 -05:00
glasses.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
go-ts-mode.el Merge from origin/emacs-29 2023-02-08 06:30:15 +01:00
grep.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
gud.el Merge from origin/emacs-29 2023-01-10 09:51:57 +01:00
hideif.el Repair hideif regexp problems 2023-01-27 17:27:15 +01:00
hideshow.el Teach 'hs-minor-mode' about tree-sitter based modes 2023-02-02 19:41:09 +02:00
icon.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
idlw-complete-structtag.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
idlw-help.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
idlw-shell.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
idlw-toolbar.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
idlwave.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
inf-lisp.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
java-ts-mode.el Merge from origin/emacs-29 2023-02-16 06:30:22 +01:00
js.el Merge from origin/emacs-29 2023-02-15 14:41:04 +01:00
json-ts-mode.el Merge from origin/emacs-29 2023-01-23 01:34:39 +01:00
ld-script.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
m4-mode.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
make-mode.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
meta-mode.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
mixal-mode.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
modula2.el Prefer defvar-keymap in modula2.el 2022-10-20 09:36:11 +02:00
octave.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
opascal.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
pascal.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
perl-mode.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
prog-mode.el Merge from origin/emacs-29 2023-01-01 05:47:47 -05:00
project.el Make project-current not error out inside non-existent dirs 2023-01-28 03:20:29 +02:00
prolog.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ps-mode.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
python.el python.el: Use correct regexp when enabling python-ts-mode 2023-01-28 13:26:53 +02:00
ruby-mode.el ruby-mode.el: Expand some docstrings with examples 2023-01-22 04:40:40 +02:00
ruby-ts-mode.el Merge from origin/emacs-29 2023-02-09 06:30:12 +01:00
rust-ts-mode.el ; Fix typo 2023-02-15 15:22:09 +01:00
scheme.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
sh-script.el Merge from origin/emacs-29 2023-01-01 05:47:47 -05:00
simula.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
sql.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
subword.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
tcl.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
typescript-ts-mode.el Merge from origin/emacs-29 2023-02-15 14:41:04 +01:00
vera-mode.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
verilog-mode.el Merge from origin/emacs-29 2023-01-01 05:47:47 -05:00
vhdl-mode.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
which-func.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
xref.el xref--insert-xrefs: Use 'shadow' for the line number colon 2023-02-09 21:57:54 +02:00
xscheme.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00