Files
emacs/lisp
Alan Mackenzie 07e6bbb9bc 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.
2022-09-26 19:20:54 +00:00
..
2022-09-19 19:30:03 +02:00
2022-09-21 10:25:06 +02:00
2022-09-19 17:54:46 -07:00
2022-09-21 10:25:06 +02:00
2022-09-19 19:30:03 +02:00
2022-08-09 22:44:21 +02:00
2022-09-24 15:19:03 +02:00
2022-09-19 19:30:03 +02:00
2022-09-26 19:20:54 +00:00
2022-09-21 19:51:14 +08:00
2022-09-09 11:27:30 +02:00
2022-07-11 11:30:00 +02:00
2022-09-20 12:21:40 +02:00
2022-08-10 11:21:24 +02:00
2022-09-21 10:25:06 +02:00
2022-07-19 14:13:25 +02:00
2022-08-08 14:23:29 +02:00
2022-06-27 15:32:53 +03:00
2022-09-09 11:27:30 +02:00
2022-09-13 18:19:26 +02:00
2022-08-05 11:47:05 +02:00
2022-09-21 10:25:06 +02:00
2022-09-13 11:06:40 +02:00
2022-08-01 01:17:16 -07:00
2022-07-14 12:52:32 +02:00
2022-09-20 20:53:40 +02:00
2022-09-20 12:39:29 +02:00
2022-09-24 12:44:44 +02:00
2022-08-30 19:09:00 +03:00
2022-09-06 12:54:42 +02:00
2022-09-21 19:51:14 +08:00
2022-07-22 22:43:38 +02:00
2022-09-20 12:21:40 +02:00
2022-07-11 11:30:00 +02:00
2022-09-21 10:25:06 +02:00
2022-09-06 12:24:32 +02:00
2022-09-21 10:25:06 +02:00
2022-09-24 16:51:53 +02:00
2022-09-19 19:30:03 +02:00
2022-07-26 14:23:30 +02:00
2022-08-22 19:22:33 +02:00
2022-09-09 11:27:30 +02:00
2022-07-04 17:01:53 +02:00
2022-08-13 06:30:27 +02:00
2022-09-06 06:30:27 +02:00
2022-07-14 11:37:42 +02:00
2022-07-14 11:37:42 +02:00
2022-09-21 10:25:06 +02:00
2022-09-09 11:27:30 +02:00
2022-08-04 11:39:23 +02:00
2022-07-20 22:38:01 +02:00
2022-08-08 14:23:29 +02:00

This directory contains source code for the parts of Emacs that are
written in Emacs Lisp.  *.el files are Emacs Lisp source, and the
corresponding *.elc files are byte-compiled versions.  Byte-compiled
files are architecture-independent.

The term subdirectory contains Lisp files that customize Emacs for
certain terminal types.  When Emacs starts, it checks the TERM
environment variable to get the terminal type and loads
'term/${TERM}.el' if it exists.

The other subdirectories hold Lisp packages grouped by their general
purpose.