1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-21 03:52:16 -08:00
emacs/lisp/progmodes
Alan Mackenzie dc842a71ed Improve C++ concept indentation.
This fixes bug #62386.

* lisp/progmodes/cc-engine.el (c-forward-over-compound-identifier): Don't
move forward over whitespace following the identifier.
(c-forward-primary-expression): Add parameter stop-at-end meaning don't move
forward over whitespace after the construct when non-nil.  Don't recognise a
primary expression when an open brace follows a parenthesized expression.
(c-forward-constraint-clause): Extracted from c-forward-c++-requires-clause.
Add parameter stop-at-end as above.
(c-forward-c++-requires-clause): New stop-at-end parameter as above.  Call the
new function c-forward-constraint-clause.
(c-forward-concept-fragment, c-looking-at-concept)
(c-in-requires-or-at-end-of-clause, c-c++-vsemi-p): New functions.
(c-guess-basic-syntax): New CASE 5A.7: "defun" open in a requires expression.
CASE 5F: Close of a non-class declaration level block: Move to earlier in the
function.
CASE 5D: Also check for being in or at end of a constraint.
New CASE 20: A C++ requires sub-clause.
New CASE 16G: The closing brace of a requires clause.
New CASE 17J: First "statement" inside a requires "function".
(c-forward-primary-expression, c-forward-declarator, c-forward-decl-or-cast-1)
(c-looking-at-or-maybe-in-bracelist): Amend the method of detecting end of
symbol "requires" (aka c-fun-name-substitute-key).

* lisp/progmodes/cc-fonts.el (c-get-fontification-context): Amend the method
of detecting end of symbol "requires".

* lisp/progmodes/cc-langs.el (c-at-vsemi-p-fn): Change the C++ entry to
c-c++-vsemi-p.
(c-fun-name-substitute-key): Change to an unadorned regexp.

* lisp/progmodes/cc-vars.el (c-offsets-alist): Add new syntactic symbol
constraint-cont.

* doc/misc/cc-mode.texi (Syntactic Symbols): Add an entry for contraint-cont.
(Constraint Symbols): New node under Syntactic Symbols.
2023-04-14 16:37:33 +00:00
..
antlr-mode.el Use delete-char instead of backward-delete-char 2023-02-22 12:55:45 +01: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 Only fill the current paragraph in c-ts-common--fill-block-comment 2023-03-21 22:50:03 -07:00
c-ts-mode.el Define sexp in c-ts-mode more broadly (bug#62302) 2023-04-12 00:02:21 -07: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 Make c-emacs-features use the proper binding of parse-sexp-lookup-properties 2023-04-14 10:33:03 +00:00
cc-engine.el Improve C++ concept indentation. 2023-04-14 16:37:33 +00:00
cc-fonts.el Improve C++ concept indentation. 2023-04-14 16:37:33 +00:00
cc-guess.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cc-langs.el Improve C++ concept indentation. 2023-04-14 16:37:33 +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 Improve C++ concept indentation. 2023-04-14 16:37:33 +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 Rename the newly added -ref- faces to -use- 2023-02-28 04:08:55 +02:00
compile.el Introduce 'compilation-annotation' text property 2023-02-27 21:14:41 +02:00
cperl-mode.el Fix some useless condition-case forms 2023-02-28 17:12:54 +01: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-28 06:30:13 +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 ebnf2ps: eliminate double nreverse 2023-04-10 15:12:01 +02: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 Eglot: fix LSP "languageId" detection 2023-04-13 17:42:37 +01:00
elisp-mode.el Merge from origin/emacs-29 2023-03-07 06:30:10 +01:00
elixir-ts-mode.el Handle electric heredocs pairs in elixir-ts-mode 2023-04-06 13:05:39 +03:00
erts-mode.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
etags.el Fix the documentation of various aspects of adding Xref history 2023-03-17 10:14:41 +02: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 ; Fix typos 2023-04-14 14:36:29 +02: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-03-08 06:30:18 +01:00
glasses.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
go-ts-mode.el Fix 'go-ts-mode's incorrect docstring inserted for methods 2023-03-26 15:02:52 +03:00
grep.el New user option 'grep-use-headings' 2023-02-27 21:14:47 +02:00
gud.el * lisp/progmodes/gud.el (gud-minor-menu-map): Fix thinko in last change 2023-03-10 12:22:43 -05:00
heex-ts-mode.el Add heex-ts-mode (Bug#61996) 2023-03-12 17:40:06 +02: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-03-14 18:14:48 +00:00
js.el Merge from origin/emacs-29 2023-02-28 06:30:13 +01:00
json-ts-mode.el Merge from origin/emacs-29 2023-02-28 06:30:13 +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 Don't use mapconcat for effect 2023-04-10 15:20:27 +02: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 Add support for prompting for projects by name 2023-04-11 02:14:57 +03:00
prolog.el Remove unused values in effect context 2023-04-09 16:45:40 +02:00
ps-mode.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
python.el Improve indenting "case" in Python 2023-03-26 05:03:07 +03:00
ruby-mode.el Remove ineffective uses of condition-case 2023-03-03 11:36:09 +01:00
ruby-ts-mode.el ruby-ts-mode: Do not treat parenless calls' args as separate sexp 2023-04-12 02:28:02 +03:00
rust-ts-mode.el Add missing indentation rule for rust-ts-mode (Bug#62109) 2023-03-11 15:52:42 -08: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-03-06 06:30:13 +01: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-04-06 14:38:20 -04:00
vera-mode.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
verilog-mode.el Fix some useless condition-case forms 2023-02-28 17:12:54 +01:00
vhdl-mode.el Fix regexp string escaping mistake in vhdl-mode.el (bug#62508) 2023-04-03 12:57:54 +02:00
which-func.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
xref.el Have Xref inherit input method when reading identifiers 2023-03-27 00:05:59 +02:00
xscheme.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00