Subject: Re: bug#17012: [3 PATCHES] Whitespace cleanup : Replace code-alignment tabs with spaces.

From: Bruce Dubbs <[email-masked]>
Date: Fri, 14 Mar 2014 13:58:04 -0500

Jim Meyering wrote:
> On Fri, Mar 14, 2014 at 7:36 AM, Paul Eggert <[email-masked]> wrote:
>> behoffski wrote:
>>>
>>> One easy way to spot tab characters in C sources
>>
>>
>> This is grep, right?  So we should use "grep '  '".
>>
>> Jim Meyering has the strongest feeling about tabs, so I assume he'll pick
>> this one up.
>
> Hi Brenton,
>
> I do indeed have strong feelings about tabs :-)
> Like remove all leading ones, and any TAB-after-space.
> [rules to enforce that are in maint.mk and cfg.mk]
> However, a few times when a crusade led me to do
> what you're proposing and eliminate all of them, I later realized
> that I found value in TAB-aligned comments, and actually regretted
> performing that particular TAB->SP+ conversion.
>
> On a code normalization front, I am inclined to fully automate the
> process, and have spent time (though not recently) trying to find
> the combination of settings in the uncrustify tool that recreate the
> style we use in a few projects. If you feel like pursuing this, please
> look at uncrustify and see if you can minimize the changes required
> to move grep to something uncrustify-generated.
>
> Bottom line, I'm not terribly keen on changing comment-aligning
> tabs to spaces.

Tabs in code are indeed evil.  Different users have different tab stops.
I would convert *all* tabs to spaces and add to each file:

/* -*- tab-width:8; intent-tabs-mode:nil;  -*- */
/* ex: set tabstop=8 expandtab: */

A lot of people make a lot of effort to make their code look good.  Then
someone makes a change and uses a different tab setting and makes it 
look ugly, either in a pager or an editor.

Bottom line is to not permit patches with tabs.

   -- Bruce Dubbs
      linuxfromscratch.org

P.S.  There was a considerable amount of research in the 1980s that
investigated cognitive interpretation of code at different tab stops. 
The general conclusion was that between 2 and 4 spaces maximizes 
comprehension.