Set emacs default mode for the GDB directory to C++
authorAntoine Tremblay <antoine.tremblay@ericsson.com>
Tue, 20 Dec 2016 13:42:10 +0000 (08:42 -0500)
committerAntoine Tremblay <antoine.tremblay@ericsson.com>
Tue, 20 Dec 2016 13:42:10 +0000 (08:42 -0500)
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
gdb/ChangeLog
gdb/gdb-code-style.el

index fbd9309..c32846a 100644 (file)
              (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))
+           ))
 )
index 0f4e3a9..233a43c 100644 (file)
@@ -1,3 +1,10 @@
+2016-12-20  Antoine Tremblay  <antoine.tremblay@ericsson.com>
+
+       * .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.
+
 2016-12-16  Bernhard Heckel  <bernhard.heckel@intel.com>
 
        * darwin-nat-info.c (info_mach_region_command): Use expression_up.
index 6099c1d..a7f4d8b 100644 (file)
@@ -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