From d9c859da9fff9de47a33f52d75a6fef2495b3fc1 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Fri, 7 Dec 2018 10:45:01 +0000 Subject: [PATCH] gdb/emacs/dir-locals: Update settings for c++-mode The current .dir-locals file for GDB causes files that would usually open in c-mode (for example, files ending in .c) to open in c++-mode. However, all of the other settings applied for c-mode appear to get reset when the file is switched over to c++-mode. For example, we currently say: (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))))) So, when we enter c++-mode `indent-tabs-mode` is reset to its global value, as are all of the other settings listed for c-mode. This commit copies all of the settings (except the `mode` setting) from the c-mode list to the c++-mode list. The emacs documentation doesn't mention that `mode` causes this resetting behaviour, so, in case this is an emacs bug, I'm using emacs version 26.1. Having the settings duplicated shouldn't cause any problems except for a slight maintenance overhead. gdb/ChangeLog: * .dir-locals.el: Copy most of the settings from c-mode over to c++-mode. --- gdb/.dir-locals.el | 8 +++++++- gdb/ChangeLog | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gdb/.dir-locals.el b/gdb/.dir-locals.el index 7e2b0cc313..d5ca5b3109 100644 --- a/gdb/.dir-locals.el +++ b/gdb/.dir-locals.el @@ -27,5 +27,11 @@ (eval . (c-set-offset 'innamespace 0)) )) (c++-mode . ((eval . (when (fboundp 'c-toggle-comment-style) - (c-toggle-comment-style 1))))) + (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)) + )) ) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e744d0bc11..2e105ae679 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2018-12-07 Andrew Burgess + + * .dir-locals.el: Copy most of the settings from c-mode over to + c++-mode. + 2018-12-08 Stafford Horne * Makefile.in (ALL_TARGET_OBS): Add or1k-linux-tdep.o. -- 2.34.1