summaryrefslogtreecommitdiff
path: root/src/emacs-module.c
diff options
context:
space:
mode:
authorAlan Mackenzie <acm@muc.de>2022-09-26 19:16:33 +0000
committerAlan Mackenzie <acm@muc.de>2022-09-26 19:20:54 +0000
commit07e6bbb9bc68f76773e9bdf8846d64d83f50b0ea (patch)
treea7c935a05740386446ba0880a99938822e86b3ec /src/emacs-module.c
parentbb83fb5f62aa4b27a5598f4a0a9b22efdd94cf14 (diff)
downloademacs-07e6bbb9bc68f76773e9bdf8846d64d83f50b0ea.tar.gz
emacs-07e6bbb9bc68f76773e9bdf8846d64d83f50b0ea.tar.bz2
emacs-07e6bbb9bc68f76773e9bdf8846d64d83f50b0ea.zip
CC Mode: Handle C++20 concepts
* lisp/progmodes/cc-align.el (c-lineup-topmost-intro-cont): Amend so as not to indent lines following a requires line. * lisp/progmodes/cc-engine.el (c-forward-primary-expression) (c-forward-c++-requires-clause): New functions. (c-forward-declarator): Skip forward over any trailing requires clause. (c-forward-decl-or-cast-1): Skip requires clauses before and after the type. Amend the second element of the return list to include information on two consecutive identifiers in <...>. (c-looking-at-or-maybe-in-bracelist): Don't recognize braces in requires expressions as brace lists. (c-guess-basic-syntax): CASE 5D.7: New case to handle the continuation of a "concept foo = " line. * lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Add a new clause to handle the declaration of a concept. (c-get-fontification-context): Treat the arglist of a requires construct as a declaration arglist. * lisp/progmodes/cc-langs.el (c-equals-nontype-decl-kwds/key) (c-fun-name-substitute-kwds/key, c-pre-concept-<>-kwds/key): New c-lang-consts/vars. (c-constant-key): New c-lang-var. (c-type-decl-suffix-key): Include "requires" in the keywords matched. * lisp/progmodes/cc-mode.el (c-fl-decl-start): Fix an off by one error. Use equal rather than eq to compare two syntax contexts.
Diffstat (limited to 'src/emacs-module.c')
0 files changed, 0 insertions, 0 deletions