help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: c-mode comment indent alignment issue


From: Francis Belliveau
Subject: Re: c-mode comment indent alignment issue
Date: Thu, 25 Apr 2013 20:12:39 -0400

Thanks to Alan I can at least create a work-around by changing to
/*
 * ****
 *
 *  Sampleā€¦
 *
 * ****
 */
I found the function "c-lineup-C-comments" to complicated for me to quickly 
modify.

I would actually like to hear from those who would like a reasonable 
modification to the logic as follows:
"If the line following the comment open contains all the same 
"non-alpha-numeric" character then that becomes the controlling line"
That would mean that"
/*
** Text
 */
Continues to work as before but
/*
 **
 ** Text
 **
 */
Stays indented.

Does anybody else have a strong opinion about this?

Fran

On Apr 24, 2013, at 7:56 AM, Alan Mackenzie <acm@muc.de> wrote:

> Francis Belliveau <f.belliveau@comcast.net> wrote:
>> I am having trouble figuring out how to control comment indentation and
>> alignment.  Consider the following sequence of comments:
> 
>> /*****
>> *
>> *  @file foo.h
>> *
>> *****
>> */
>> /*
>> *  $Revision$
>> *
>> *****
>> */
>> /*
>> *****
>> *
>> *  Sample...
>> *
>> *****
>> */
> 
>> In c-mode when they are all in the region and I "indent-region", the
>> first two comments don't change, but the content of the last comment
>> gets jammed against the left edge.
> 
>> If I put a " *" before the upper row of asterisks all is okay.
> 
>> Can anybody tell me how I can take control of the comment indentation
>> logic to stop the indentation from being eliminated?
> 
> This is difficult.  The critical line which determines the indentation
> of the entire comment is the second line, thus:
> 
> /*
> *****   <===============
> ....
> 
> If the number of asterisks is greater than the number in the "/***"
> comment opener, the second line is "aligned left" under the "/***".
> (This is what you don't like here.)  Otherwise, like in the "foo.h"
> and "$Revision$" comments, it is "aligned right".  The thinking behind
> this left alignment is to indent this case:
> 
> /*
> ** Text.
> ** Text.
> */
> 
> This is all done by the lisp function `c-lineup-C-comments'.  Adapting
> this function to change this behaviour could give you the result you want.
> Instructions for doing this are on page "Custom Line-Up" of the CC Mode
> manual.
> 
> Sorry I can't be more helpful.
> 
>> Fran
> 
> -- 
> Alan Mackenzie (Nuremberg, Germany).
> 




reply via email to

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