1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-03 18:41:25 -08:00
emacs/lisp/progmodes
Alan Mackenzie 0a1628bf69 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.
2024-09-27 13:42:40 +00:00
..
antlr-mode.el
asm-mode.el
autoconf.el
bat-mode.el
bug-reference.el Standardize possessive apostrophe usage in manuals, docs, and comments 2024-07-25 03:35:18 +02:00
c-ts-common.el Clean-up warning due to unused lexical variable 2024-08-07 09:27:37 +02:00
c-ts-mode.el Add user option to enable Doxygen syntax highlighting (bug#72814) 2024-09-21 12:39:34 +03:00
cc-align.el CC Mode: Parse C++ lambda functions more correctly 2024-09-27 13:42:40 +00:00
cc-awk.el Fix fontification of network files in awk-mode 2024-07-07 04:31:01 +02:00
cc-bytecomp.el
cc-cmds.el
cc-defs.el
cc-engine.el CC Mode: Parse C++ lambda functions more correctly 2024-09-27 13:42:40 +00:00
cc-fonts.el CC Mode: Parse C++ lambda functions more correctly 2024-09-27 13:42:40 +00:00
cc-guess.el
cc-langs.el CC Mode: Parse C++ lambda functions more correctly 2024-09-27 13:42:40 +00:00
cc-menus.el
cc-mode.el CC Mode: fix minor errors in the fontification of enums. 2024-09-21 16:46:32 +00:00
cc-styles.el CC Mode: Separate indentation of enums from that of brace lists 2024-09-24 20:45:29 +00:00
cc-vars.el ; * Clean-up compilation warning in cc-vars.el 2024-09-25 10:23:03 +02:00
cfengine.el
cl-font-lock.el
cmacexp.el
cmake-ts-mode.el Fix cmake-ts-mode number fontification (Bug#72228) 2024-08-07 17:35:39 +02:00
compile.el Make the *grep* buffer editable 2024-09-14 12:41:29 +03:00
cperl-mode.el Remove some XEmacs compat code from cperl-mode.el 2024-09-15 14:02:36 +02:00
cpp.el
csharp-mode.el Merge from origin/emacs-29 2024-04-27 06:23:46 -04:00
cwarn.el
dcl-mode.el Delete redundant mention of `with-eval-after-load' 2024-06-29 21:16:58 +02:00
dockerfile-ts-mode.el
ebnf-abn.el
ebnf-bnf.el
ebnf-dtd.el
ebnf-ebx.el
ebnf-iso.el
ebnf-otz.el
ebnf-yac.el
ebnf2ps.el
ebrowse.el ; Fix typos in symbols 2024-06-29 17:29:38 +02:00
eglot.el Merge from origin/emacs-30 2024-09-21 07:32:31 -04:00
elisp-mode.el Fix M-TAB completion of variables in 'cond' 2024-09-19 19:36:46 +03:00
elixir-ts-mode.el Set treesit-primary-parser for c and elixir ts mode 2024-09-14 00:46:05 -07:00
erts-mode.el
etags-regen.el etags-regen-file-extensions: Add .pm 2024-09-20 14:39:53 +01:00
etags.el Checkdoc fixes in progmodes 2024-07-07 17:46:30 +02:00
executable.el
f90.el
flymake-cc.el
flymake-proc.el
flymake.el ; * lisp/progmodes/flymake.el: Fix "Maintainer" header 2024-08-29 22:30:38 +02:00
fortran.el Fix indentation of Fortran do-loops 2024-09-14 17:18:57 +03:00
gdb-mi.el Checkdoc fixes in progmodes 2024-07-07 17:46:30 +02:00
glasses.el With glasses-uncapitalize-p, use a display overlay property 2024-04-20 11:30:13 +03:00
go-ts-mode.el * lisp/progmodes/go-ts-mode.el (go-ts-mode-build-tags): Fix :version. 2024-07-21 11:13:35 +02:00
grep.el ; Small fix for 'grep-change-to-grep-edit-mode' 2024-09-18 19:59:35 +03:00
gud.el Bind TAB not <tab> in M-x lldb 2024-08-07 11:38:48 +02:00
heex-ts-mode.el Fix heex-ts-mode indentation following previews elixir-mode change 2024-09-10 20:07:20 -07:00
hideif.el Checkdoc fixes in progmodes 2024-07-07 17:46:30 +02:00
hideshow.el
icon.el
idlw-complete-structtag.el
idlw-help.el Checkdoc fixes in progmodes 2024-07-07 17:46:30 +02:00
idlw-shell.el
idlw-toolbar.el
idlwave.el Checkdoc fixes in progmodes 2024-07-07 17:46:30 +02:00
inf-lisp.el ; Fix typos 2024-06-23 16:40:06 +02:00
java-ts-mode.el Add user option to enable Doxygen syntax highlighting (bug#72814) 2024-09-21 12:39:34 +03:00
js.el Delete redundant declarations of 'electric' variables 2024-09-21 14:48:02 +02:00
json-ts-mode.el
ld-script.el
lua-ts-mode.el ; Use 'keymap-set' in 'lua-ts-mode' 2024-06-28 21:54:51 +02:00
m4-mode.el
make-mode.el ; Fix typos 2024-08-29 00:17:10 +02:00
meta-mode.el
mixal-mode.el
modula2.el
octave.el Delete redundant declarations of 'electric' variables 2024-09-21 14:48:02 +02:00
opascal.el
pascal.el Checkdoc fixes in progmodes 2024-07-07 17:46:30 +02:00
peg.el * lisp/progmodes/peg.el (peg-syntax-classes): Typo (bug#72131) 2024-07-19 14:18:29 -04:00
perl-mode.el perl-mode: fix bug introduced in bd86a6c4fd 2024-07-08 14:37:07 +00:00
php-ts-mode.el Support for custom php.ini for the built-in PHP web server. 2024-09-08 09:46:02 +03:00
prog-mode.el
project.el Rename project-{find-file-in-root,root-find-file} 2024-09-17 12:59:56 +03:00
prolog.el
ps-mode.el
python.el ; * lisp/progmodes/python.el (python-interpreter): Fix :version. 2024-09-27 08:44:35 +03:00
ruby-mode.el Add new option ruby-bracketed-args-indent 2024-09-02 21:55:16 +03:00
ruby-ts-mode.el Support the new option in ruby-ts-mode too 2024-09-02 21:57:35 +03:00
rust-ts-mode.el Merge from savannah/emacs-30 2024-07-08 15:43:55 +08:00
scheme.el ; Fix typos 2024-07-18 11:46:50 +02:00
sh-script.el Suppress warnings for obsolete display-comint-buffer-action (bug#69983) 2024-04-25 20:34:28 +03:00
simula.el
sql.el
subword.el
tcl.el
typescript-ts-mode.el Add link to commit compatibility function handles 2024-07-21 14:56:52 +02:00
vera-mode.el
verilog-mode.el Checkdoc fixes in progmodes 2024-07-07 17:46:30 +02:00
vhdl-mode.el (vhdl-run-when-idle): Don't use timer--triggered 2024-07-31 04:52:08 -04:00
which-func.el ; Fix thinko in my last change 2024-05-27 22:39:03 +02:00
xref.el Checkdoc fixes in progmodes 2024-07-07 17:46:30 +02:00
xscheme.el