bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#34594: cc-mode needs to support "final" in C++ classes


From: Daniel Colascione
Subject: bug#34594: cc-mode needs to support "final" in C++ classes
Date: Fri, 12 Apr 2019 19:54:36 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1

+ Alan

On 2/20/19 11:34 AM, Daniel Colascione wrote:
Consider this:

1 struct QueryCache final : BasePyObject, SupportsGcClear,
2                           HasDict, SupportsWeakRefs

Without the "final", line 2 is classified as inher-cont.  With the
"final", it gets topmost-intro-cont and wrong indentation.

Proposed fix:

diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index b4c12896f3..121888d825 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -12268,6 +12268,9 @@ c-guess-basic-syntax
                        (if (eq (char-after) ?<)
                            (zerop (c-forward-token-2 1 t indent-point))
                          t)
+                       (if (looking-at "final\\>[^_]")
+                           (c-forward-token-2 1 nil indent-point)
+                         t)
                        (eq (char-after) ?:))))
            (goto-char placeholder)
            (c-add-syntax 'inher-cont (c-point 'boi)))






reply via email to

[Prev in Thread] Current Thread [Next in Thread]