1 new commit in cc-mode:
https://bitbucket.org/xemacs/cc-mode/commits/42d965b3e891/
Changeset: 42d965b3e891
User: acm
Date: 2017-04-22 14:18:42+00:00
Summary: Fix fontification of C++ declaration with type FOO::FOO.
* cc-engine.el (c-find-decl-spots): Initialize cfd-top-level properly.
(c-forward-decl-or-cast-1): On finding FOO::FOO, check it is followed by "("
before deciding it is a constructor.
* cc-fonts.el (c-font-lock-complex-decl-prepare): Negate the result of the
c-bs-at-toplevel-p call passed to c-font-lock-declarators (simple bug fix).
Affected #: 2 files
diff -r 3aaa2fcb2d5bac9e1008403bc12a2366a85cf576 -r
42d965b3e8913f32d004a9cb170cf27ade0fb08f cc-engine.el
--- a/cc-engine.el
+++ b/cc-engine.el
@@ -5693,7 +5693,7 @@
;; Whether the last position returned from `c-find-decl-prefix-search'
;; is at the top-level (including directly in a class or namespace,
;; etc.).
- cfd-top-level)
+ (cfd-top-level (c-bs-at-toplevel-p (point))))
;; Initialize by finding a syntactically relevant start position
;; before the point, and do the first `c-decl-prefix-or-start-re'
@@ -8379,7 +8379,11 @@
(c-simple-skip-symbol-backward))
(>= (point) type-start)
(equal (buffer-substring-no-properties (point) end-1)
- name))
+ name)
+ (goto-char end-2)
+ (progn
+ (c-forward-syntactic-ws)
+ (eq (char-after) ?\()))
;; It is a (con|de)structor name. In that case the
;; declaration is typeless so zap out any preceding
;; identifier(s) that we might have taken as types.
diff -r 3aaa2fcb2d5bac9e1008403bc12a2366a85cf576 -r
42d965b3e8913f32d004a9cb170cf27ade0fb08f cc-fonts.el
--- a/cc-fonts.el
+++ b/cc-fonts.el
@@ -901,7 +901,7 @@
(when (memq prop '(c-decl-id-start c-decl-type-start))
(c-forward-syntactic-ws limit)
(c-font-lock-declarators limit t (eq prop 'c-decl-type-start)
- (c-bs-at-toplevel-p (point)))))
+ (not (c-bs-at-toplevel-p (point))))))
(setq c-font-lock-context ;; (c-guess-font-lock-context)
(save-excursion
Repository URL:
https://bitbucket.org/xemacs/cc-mode/
--
This is a commit notification from
bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.