[PATCHv2] gdbserver: Add .dir-locals.el file

Andrew Burgess
2020-03-02T12:31:32Z

Baris,

Good spot on the *.h files, I hadn't considered them. I did look
breifly at how I might change the mode only for *.h files, but
couldn't see anything obvious, and as we don't currently have any *.c
files I just restored the c-mode to c++-mode setting.

Thanks,
Andrew

---

Copy the .dir-locls.el file from gdb/ to gdbserver/ so that we get the
GNU style when editing these files in Emacs.

I initially wanted to remove the (c-mode . ((mode . c++))) that
switches c-mode files into c++-mode as we store C++ code in *.cc files
in the gdbserver/ directory, unlike gdb/ where we use *.c, however, I
was forgetting about the header files - we still use *.h for our C++
header files, so for now I left the settings in place to open all C
files in c++-mode.

The copyright date in the new file is left as for gdb/.dir-locals.el,
as the new file is a copy of the old with just one new comment
added, this is inline with this rule:

https://sourceware.org/gdb/wiki/ContributionChecklist#Copyright_Header

gdbserver/ChangeLog:

* .dir-locals.el: New file.
---
gdbserver/.dir-locals.el | 39 +++++++++++++++++++++++++++++++++++++++
gdbserver/ChangeLog | 4 ++++
2 files changed, 43 insertions(+)
create mode 100644 gdbserver/.dir-locals.el

diff --git a/gdbserver/.dir-locals.el b/gdbserver/.dir-locals.el
new file mode 100644
index 00000000000..29c3d69869e
--- /dev/null
+++ b/gdbserver/.dir-locals.el
@@ -0,0 +1,39 @@
+;; Emacs settings.
+;; Copyright (C) 2012-2020 Free Software Foundation, Inc.
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+(
+ (tcl-mode . ((tcl-indent-level . 4)
+ (tcl-continued-indent-level . 4)
+ (indent-tabs-mode . t)))
+ (nil . ((bug-reference-url-format . "http://sourceware.org/bugzilla/show_bug.cgi?id=%s")))
+ ;; We store C++ headers in files matching *.h, which is usually for C
+ ;; headers, so here we arrange to switch all c-mode files into c++-mode.
+ (c-mode . ((c-file-style . "GNU")
+ (mode . c++)
+ (indent-tabs-mode . t)
+ (tab-width . 8)
+ (c-basic-offset . 2)
+ (eval . (c-set-offset 'innamespace 0))
+ ))
+ (c++-mode . ((eval . (when (fboundp 'c-toggle-comment-style)
+ (c-toggle-comment-style 1)))
+ (indent-tabs-mode . t)
+ (tab-width . 8)
+ (c-file-style . "GNU")
+ (c-basic-offset . 2)
+ (eval . (c-set-offset 'innamespace 0))
+ ))
+)