diff options
author | Alan Mackenzie <acm@muc.de> | 2024-09-27 13:42:40 +0000 |
---|---|---|
committer | Alan Mackenzie <acm@muc.de> | 2024-09-27 13:42:40 +0000 |
commit | 0a1628bf69086f85f9b983e2e62660fc90b6d568 (patch) | |
tree | 2c5517c30a62a4c37ac2996a7c762e5cfd75d577 /lisp/emacs-lisp/hierarchy.el | |
parent | d98a2b70d730308d91e7cdd1940ee4a1ac273a54 (diff) | |
download | emacs-0a1628bf69086f85f9b983e2e62660fc90b6d568.tar.gz emacs-0a1628bf69086f85f9b983e2e62660fc90b6d568.tar.bz2 emacs-0a1628bf69086f85f9b983e2e62660fc90b6d568.zip |
CC Mode: Parse C++ lambda functions more correctly
This fixes bug#72695.
* lisp/progmodes/cc-align.el (c-lineup-topmost-intro-cont): Do
not indent further a line following a closing brace of a
requires clause.
* lisp/progmodes/cc-engine.el (c-forward-keyword-clause):
Separate the handling of "any-paren-kwds" into
"type-paren-kwds" and "nontype-paren-kwds", simplifying the
handling of the latter.
(c-forward-primary-expression): Recognize (...) followed by {
as a primary expression.
(c-looking-at-or-maybe-in-bracelist): No longer recognize an
enum list as a brace list. Remove the handling of enum lists.
(c-looking-at-c++-lambda-expression)
(c-backward-over-lambda-expression): New functions.
(c-c++-vsemi-p): Don't recognize the end of requires clauses as
virtual semicolons.
(c-guess-basic-syntax): CASE 5U - new cond arm to recognize
being after a requires clause. These lines now get syntax
topmost-intro-cont rather than topmost-intro, and their anchor
positions are now on the topmost-intro line rather than the
previous topmost-intro-cont.
Throughout the file: simplify handling of
c-fun-name-substitute-key, where there is no need to check for
a following _ character, and introduce c-requires-clause-key
for greater accuracy in parsing, even though both of these are
just "requires".
* lisp/progmodes/cc-fonts.el (c-get-fontification-context):
Tidy up the handling of c-fun-name-substitue-key, as in
cc-engine.el.
* lisp/progmodes/cc-langs.el (c-lambda-spec-kwds)
(c-lambda-spec-key): New lang vars.
(c-fun-name-substitute-key): Now an adorned expression.
(c-requires-clause-kwds, c-requires-clause-key): New lang vars.
Diffstat (limited to 'lisp/emacs-lisp/hierarchy.el')
0 files changed, 0 insertions, 0 deletions