emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: address@hidden: C indentation problem]


From: Basil L. Contovounesios
Subject: Re: address@hidden: C indentation problem]
Date: Tue, 21 May 2019 11:57:42 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

Alan Mackenzie <address@hidden> writes:

> Sorry I missed this post when you posted it at the end of April.

No worries. :)

> The issue goes back to 2006.  ;-)
>
> On Tue, Apr 30, 2019 at 14:11:05 +0100, Basil L. Contovounesios wrote:
>> Kenichi Handa <address@hidden> writes:
>
> [ .... ]
>
>> > Ah!  Yes.  I personally prefer Emacs 21 style (perhaps just
>> > because I used to it for long time).
>
>> >> However, CC Mode 5.28 seems to me to indent like the Emacs 22 sources are
>> >> indented, i.e. column 5, and 5.
>
>> CC Mode 5.33.2 also indents "Emacs 22-style", i.e. to 5 columns, but the
>> current sources, AFAICS, are indented to 2 columns, "Emacs 21-style".
>
> More to the point, we no longer have knr declarations.
>
>> >> I suggest the following: a new lineup function,
>> >> c-lineup-gnu-DEFUN-intro-cont which would be active only in GNU style,
>> >> and would give the offset knr-argdecl-intro (i.e. 5) for the lines
>> >> between DEFUN's closing paren and the function's opening brace.  This new
>> >> function would be tried only if the existing c-lineup-topmost-intro-cont
>> >> returns nil.
>
>> Shouldn't the now-existing c-lineup-gnu-DEFUN-intro-cont be changed
>> accordingly, to indent to 2 columns instead of 5?
>
> Seeing as how we don't have knr declarations any more, it seems senseless
> now to indent with the CC Mode syntactic symbol knr-argdecl-intro, i.e.
> 5.  Instead c-basic-offset (2) seems right.
>
> How about the following patch?
>
> diff -r f9e4e46ed54d cc-align.el
> --- a/cc-align.el     Mon May 20 12:34:51 2019 +0000
> +++ b/cc-align.el     Tue May 21 10:24:11 2019 +0000
> @@ -112,7 +112,7 @@
>      (let (case-fold-search)
>        (goto-char (c-langelem-pos langelem))
>        (if (looking-at "\\<DEFUN\\>")
> -       (c-calc-offset '(knr-argdecl-intro))))))
> +       c-basic-offset))))
>  
>  (defun c-block-in-arglist-dwim (arglist-start)
>    ;; This function implements the DWIM to avoid far indentation of

LGTM, thanks.

-- 
Basil



reply via email to

[Prev in Thread] Current Thread [Next in Thread]