mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-01 11:20:41 -08:00
c-forward-declarator now moves over a complete declarator, including any arglist expression, but possibly not including certain C++20 constructs. * lisp/progmodes/cc-engine.el (c-forward-decl-arglist): New function, extracted from c-do-declarators. (c-forward-declarator): Extend the result list by one element, denoting whether the function parsed an argument list. Insert special handling for a C++ operator<op> construct. If there is a parenthesis expression, and it is an argument list, move forward over it. (c-do-declarators): Append an optional parameter, cdd-anon-accepted instructing the function to handle declarators without identifiers. Extract c-forward-decl-arglist. * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): New &optional parameter accept-anon, as above. Analyze and use the identifier location returned by c-do-declarators, rather than using c-last-identifier-range. (c-font-lock-single-decl): Determine accept-anon from the context, passing it as argument to c-font-lock-declarators. * lisp/progmodes/cc-langs.el (c-opt-identifier-prefix-key): Make a c-lang-defvar out of this existing c-lang-defconst. * lisp/progmodes/cc-mode.el (c-fl-decl-end): Adapt for the new c-forward-declarator which now moves over arglists. Amend better to handle certain syntactically invalid constructs in C++. |
||
|---|---|---|
| .. | ||
| antlr-mode.el | ||
| asm-mode.el | ||
| autoconf.el | ||
| bat-mode.el | ||
| bug-reference.el | ||
| cc-align.el | ||
| cc-awk.el | ||
| cc-bytecomp.el | ||
| cc-cmds.el | ||
| cc-defs.el | ||
| cc-engine.el | ||
| cc-fonts.el | ||
| cc-guess.el | ||
| cc-langs.el | ||
| cc-menus.el | ||
| cc-mode.el | ||
| cc-styles.el | ||
| cc-vars.el | ||
| cfengine.el | ||
| cl-font-lock.el | ||
| cmacexp.el | ||
| compile.el | ||
| cperl-mode.el | ||
| cpp.el | ||
| cwarn.el | ||
| dcl-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 | ||
| elisp-mode.el | ||
| erts-mode.el | ||
| etags.el | ||
| executable.el | ||
| f90.el | ||
| flymake-cc.el | ||
| flymake-proc.el | ||
| flymake.el | ||
| fortran.el | ||
| gdb-mi.el | ||
| glasses.el | ||
| grep.el | ||
| gud.el | ||
| hideif.el | ||
| hideshow.el | ||
| icon.el | ||
| idlw-complete-structtag.el | ||
| idlw-help.el | ||
| idlw-shell.el | ||
| idlw-toolbar.el | ||
| idlwave.el | ||
| inf-lisp.el | ||
| js.el | ||
| ld-script.el | ||
| m4-mode.el | ||
| make-mode.el | ||
| meta-mode.el | ||
| mixal-mode.el | ||
| modula2.el | ||
| octave.el | ||
| opascal.el | ||
| pascal.el | ||
| perl-mode.el | ||
| prog-mode.el | ||
| project.el | ||
| prolog.el | ||
| ps-mode.el | ||
| python.el | ||
| ruby-mode.el | ||
| scheme.el | ||
| sh-script.el | ||
| simula.el | ||
| sql.el | ||
| subword.el | ||
| tcl.el | ||
| vera-mode.el | ||
| verilog-mode.el | ||
| vhdl-mode.el | ||
| which-func.el | ||
| xref.el | ||
| xscheme.el | ||