This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH v2] Set emacs default mode for the GDB directory to C++
- From: Antoine Tremblay <antoine dot tremblay at ericsson dot com>
- To: <gdb-patches at sourceware dot org>
- Cc: Antoine Tremblay <antoine dot tremblay at ericsson dot com>
- Date: Fri, 16 Dec 2016 14:40:33 -0500
- Subject: [PATCH v2] Set emacs default mode for the GDB directory to C++
- Authentication-results: sourceware.org; auth=none
- References: <20161216192932.11323-1-antoine.tremblay@ericsson.com>
* In this v2:
I forgot I needed to add to the safe-local-variable-values list rather than just set it.. this version fixes that..
Since GDB has switched to C++ but the file names are still .c emacs does
not load the proper mode when opening files in the gdb directory.
This patch fixes that by enabling c++ mode.
This patch also fixes indentation tweaks as discussed in this thread:
https://sourceware.org/ml/gdb-patches/2016-12/msg00074.html
Indent with gdb-code-style.el included and the .dir-locals.el is as such:
namespace TestNameSpace {
class test
{
public:
test test() {}
int m_a;
};
struct teststruct
{
int a;
}
}
gdb/ChangeLog:
* .dir-locals.el: Set c++ mode for the directory and set indent
properly.
* gdb-code-style.el: Set c-set-offset 'innamespace as a safe value
to be used in .dir-locals.el.
---
gdb/.dir-locals.el | 7 ++++++-
gdb/gdb-code-style.el | 5 +++++
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/gdb/.dir-locals.el b/gdb/.dir-locals.el
index fbd9309aef..8ac52393fc 100644
--- a/gdb/.dir-locals.el
+++ b/gdb/.dir-locals.el
@@ -20,5 +20,10 @@
(indent-tabs-mode . t)))
(nil . ((bug-reference-url-format . "http://sourceware.org/bugzilla/show_bug.cgi?id=%s")))
(c-mode . ((c-file-style . "GNU")
- (indent-tabs-mode . t)))
+ (mode . c++)
+ (indent-tabs-mode . t)
+ (tab-width . 8)
+ (c-basic-offset . 2)
+ (eval . (c-set-offset 'innamespace [0]))
+ ))
)
diff --git a/gdb/gdb-code-style.el b/gdb/gdb-code-style.el
index 6099c1d4b8..2864072b93 100644
--- a/gdb/gdb-code-style.el
+++ b/gdb/gdb-code-style.el
@@ -74,4 +74,9 @@
)
(add-hook 'c-mode-common-hook 'gdb-comment-hook)
+;; Set c-set-offset 'innamespace as a safe value to be used in .dir-locals.el.
+(setq safe-local-variable-values
+ (cons safe-local-variable-values
+ '((eval c-set-offset 'innamespace [0])
+ (c-offsets-alist (innamespace .[0])))))
;;; gdb-code-style.el ends here
--
2.11.0