Re: [PATCH 2/2] streamline_config.pl: Add softtabstop=4 for vim users

From: Masahiro Yamada
Date: Thu Mar 25 2021 - 02:22:33 EST


On Wed, Mar 24, 2021 at 10:54 PM Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> On Wed, 24 Mar 2021 15:01:13 +0900
> Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
> > On Tue, Mar 23, 2021 at 6:40 AM Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> > >
> > > From: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx>
> > >
> > > The tab stop for Perl files is by default (at least in emacs) to be 4
> > > spaces, where a tab is used for all 8 spaces. Add a local variable comment
> > > to make vim do the same by default, and this will help keep the file
> > > consistent in the future when others edit it via vim and not emacs.
> > >
> > > Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
> >
> >
> > Documentation/process/coding-style.rst says "do not do this".
>
> I take that file more as for C code, never took it for Perl ;-)
>
> >
> > Rather, I want to remove this ugly stuff entirely.
> > https://lore.kernel.org/patchwork/patch/1401439/
>
> And I totally agree it does not belong in C code.
>
> >
> > Adding .editorconfig seems OK to me, but
> > Doing this in individual files in an editor-specific
> > manner is a horror.
>
> Is there a way to add this for the directory?
>
> The reason I added this was because of the different ways that vim and
> emacs handle Perl files. I just added this to ktest.pl because I want it to
> be consistent.
>
> The emacs way to edit Perl is to have 4 space indentation, but use tabs for
> every 8 spaces. That is, you have:
>
> (4 spaces)
> (1 tab)
> (1 tab and 4 spaces)
> (2 tabs)
> (2 tabs and 4 spaces)
>
> etc.


The root cause of inconsistency is that
you mix up space-indentation and tab-indentation.
I do not know if it is a standard way either.

For example, scripts/checkpatch.pl uses only tabs,
which I think is more robust.

Unfortunately, we do not have standardized indentation style
for scripts yet, and people can go in any direction.

The editorconfig patch [1] proposed to always use 4-space
indentation for *.pl files.
(that is, do not replace 8 spaces with a tab).

I do not know whether the kernel will adopt .editorconfig or not,
but if that patch is applied, your 1/2 will be a step backward.

My got-feeling is, you will never reach the goal as long as
you adopt a strange indentation style, which is obscure
to other contributors.

Not all people use vim.
I am not interested in 1/2 either.

If you insist on this patch set, apply it to your tree
and send a pull request by yourself.


[1]: https://lore.kernel.org/lkml/20200703073143.423557-1-danny@xxxxxxxxxxx/



>
> What I found from people who edit Perl code is that they will either just
> indent 8 (with tabs), or just use all spaces. Then you have:
>
> (1 tab and 4 spaces)
> (followed by 12 spaces!)
>
> The way to make vim work the same is to add the softtabspace=4 command.
>
> We can not add this, but then have to either police the patches coming in,
> or constantly clean up the code after the fact.
>
> This code doesn't change much, so I'm fine with that. But for ktest.pl, I'm
> adding it.
>
> -- Steve



--
Best Regards
Masahiro Yamada