[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 4d34210: Fontify C++ parameter packs.
From: |
Alan Mackenzie |
Subject: |
[Emacs-diffs] master 4d34210: Fontify C++ parameter packs. |
Date: |
Sat, 23 Jul 2016 15:06:16 +0000 (UTC) |
branch: master
commit 4d34210256c6e07cb713ece8d7ad998a873f0f94
Author: Alan Mackenzie <address@hidden>
Commit: Alan Mackenzie <address@hidden>
Fontify C++ parameter packs.
This fixes debbugs #23610.
* lisp/progmodes/cc-langs.el (c-pack-ops, c-pack-key): New
c-lang-defconsts/defvars.
(c-type-decl-prefix-key): Add "..." and "&&" into the C++ version.
* lisp/progmodes/cc-engine.el (c-forward-type): Handle matches of
c-pack-key.
---
lisp/progmodes/cc-engine.el | 3 +++
lisp/progmodes/cc-langs.el | 12 ++++++++++++
2 files changed, 15 insertions(+)
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index 51d278f..dbcd071 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -7091,6 +7091,9 @@ comment at the start of cc-engine.el for more info."
(while (cond
((looking-at c-decl-hangon-key)
(c-forward-keyword-clause 1))
+ ((looking-at c-pack-key)
+ (goto-char (match-end 1))
+ (c-forward-syntactic-ws))
((and c-opt-cpp-prefix
(looking-at c-noise-macro-with-parens-name-re))
(c-forward-noise-clause))))
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index 30949f8..ec894f6 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -1329,6 +1329,14 @@ operators."
(c-lang-defvar c-stmt-delim-chars-with-comma
(c-lang-const c-stmt-delim-chars-with-comma))
+(c-lang-defconst c-pack-ops
+ "Ops which signal C++11's \"parameter pack\""
+ t nil
+ c++ '("..."))
+(c-lang-defconst c-pack-key
+ t (c-make-keywords-re 'appendable (c-lang-const c-pack-ops)))
+(c-lang-defvar c-pack-key (c-lang-const c-pack-key))
+
(c-lang-defconst c-auto-ops
;; Ops which signal C++11's new auto uses.
t nil
@@ -2958,6 +2966,10 @@ Identifier syntax is in effect when this is matched \(see
"\\)"
"\\([^=]\\|$\\)")
c++ (concat "\\("
+ "&&"
+ "\\|"
+ "\\.\\.\\."
+ "\\|"
"[*(&]"
"\\|"
(c-lang-const c-type-decl-prefix-key)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 4d34210: Fontify C++ parameter packs.,
Alan Mackenzie <=