This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Set emacs default mode for the GDB directory to C++


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ff71884063d048e8f8c03de27d2bac343df4f77a

commit ff71884063d048e8f8c03de27d2bac343df4f77a
Author: Antoine Tremblay <antoine.tremblay@ericsson.com>
Date:   Tue Dec 20 08:42:10 2016 -0500

    Set emacs default mode for the GDB directory to C++
    
    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.

Diff:
---
 gdb/.dir-locals.el    | 7 ++++++-
 gdb/ChangeLog         | 7 +++++++
 gdb/gdb-code-style.el | 5 +++++
 3 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/gdb/.dir-locals.el b/gdb/.dir-locals.el
index fbd9309..c32846a 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/ChangeLog b/gdb/ChangeLog
index 0f4e3a9..233a43c 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/gdb-code-style.el b/gdb/gdb-code-style.el
index 6099c1d..a7f4d8b 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]