Subject: Re: bug#35224: [PATCH] include indentation size in .dir-locals

From: "Basil L. Contovounesios" <[email-masked]>
Date: Thu, 11 Apr 2019 11:26:42 +0100

severity 35224 wishlist
quit

Konstantin Kharlamov <[email-masked]> writes:

> On Чт, Apr 11, 2019 at 03:16, Basil L. Contovounesios <[email-masked]> wrote:
>> Konstantin Kharlamov <[email-masked]> writes:
>>
>>>  * .dir-locals.el (c-mode): include indentation size
>>>  ---
>>>   .dir-locals.el | 1 +
>>>   1 file changed, 1 insertion(+)
>>>
>>>  diff --git a/.dir-locals.el b/.dir-locals.el
>>>  index 9cd39920c23..657ac32d00f 100644
>>>  --- a/.dir-locals.el
>>>  +++ b/.dir-locals.el
>>>  @@ -3,6 +3,7 @@
>>>            (fill-column . 70)))
>>>    (c-mode . ((c-file-style . "GNU")
>>>               (c-noise-macro-names . ("INLINE"
>>> "ATTRIBUTE_NO_SANITIZE_UNDEFINED" "UNINIT" "CALLBACK" "ALIGN_STACK"))
>>>  +            (c-basic-offset . 2)
>>>               (electric-quote-comment . nil)
>>>               (electric-quote-string . nil)))
>>>    (objc-mode . ((c-file-style . "GNU")
>>
>> The "GNU" c-file-style already sets c-basic-offset to 2.
>> See c-style-alist and (info "(ccmode) Customizing Indentation").
>
> Oh, this is odd. For some reason I have 4 as the size. I have it set through
> c-basic-offset by default, but I can't reproduce it with emacs -Q --eval, i.e.
> opening C file resets it to 2 as should be.

Globally setting c-basic-offset overrides the cc-mode style inheritance
system.  There are various ways to customise this variable in a more
granular way, such as defining a custom style which inherits from a
built-in style, or setting c-basic-offset locally in a mode hook.
For details, see (info "(ccmode) Config Basics").

-- 
Basil