diff mbox series

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

Message ID 20210322214032.293992979@goodmis.org (mailing list archive)
State New, archived
Headers show
Series streamline_config.pl: Fix Perl spacing | expand

Commit Message

Steven Rostedt March 22, 2021, 9:38 p.m. UTC
From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

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@goodmis.org>
---
 scripts/kconfig/streamline_config.pl | 2 ++
 1 file changed, 2 insertions(+)

Comments

Masahiro Yamada March 24, 2021, 6:01 a.m. UTC | #1
On Tue, Mar 23, 2021 at 6:40 AM Steven Rostedt <rostedt@goodmis.org> wrote:
>
> From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
>
> 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@goodmis.org>


Documentation/process/coding-style.rst says "do not do this".

Rather, I want to remove this ugly stuff entirely.
https://lore.kernel.org/patchwork/patch/1401439/

Adding .editorconfig seems OK to me, but
Doing this in individual files in an editor-specific
manner is a horror.





> ---
>  scripts/kconfig/streamline_config.pl | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/scripts/kconfig/streamline_config.pl b/scripts/kconfig/streamline_config.pl
> index 059061b6daef..044829972ba5 100755
> --- a/scripts/kconfig/streamline_config.pl
> +++ b/scripts/kconfig/streamline_config.pl
> @@ -702,3 +702,5 @@ foreach my $module (keys(%modules)) {
>         print STDERR "\n";
>      }
>  }
> +
> +# vim: softtabstop=4
> --
> 2.30.1
>
>
Steven Rostedt March 24, 2021, 1:54 p.m. UTC | #2
On Wed, 24 Mar 2021 15:01:13 +0900
Masahiro Yamada <masahiroy@kernel.org> wrote:

> On Tue, Mar 23, 2021 at 6:40 AM Steven Rostedt <rostedt@goodmis.org> wrote:
> >
> > From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
> >
> > 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@goodmis.org>  
> 
> 
> 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.

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
Steven Rostedt March 25, 2021, 12:06 a.m. UTC | #3
On Wed, 24 Mar 2021 09:54:17 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:

> This code doesn't change much, so I'm fine with that. But for ktest.pl, I'm
> adding it.

Anyway, I'm not going to ask you to take the second patch if you don't
like it, but would you take the first patch?

-- Steve
Masahiro Yamada March 25, 2021, 6:20 a.m. UTC | #4
On Wed, Mar 24, 2021 at 10:54 PM Steven Rostedt <rostedt@goodmis.org> wrote:
>
> On Wed, 24 Mar 2021 15:01:13 +0900
> Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> > On Tue, Mar 23, 2021 at 6:40 AM Steven Rostedt <rostedt@goodmis.org> wrote:
> > >
> > > From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
> > >
> > > 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@goodmis.org>
> >
> >
> > 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@kdrag0n.dev/



>
> 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
Steven Rostedt March 25, 2021, 1:50 p.m. UTC | #5
On Thu, 25 Mar 2021 15:20:13 +0900
Masahiro Yamada <masahiroy@kernel.org> wrote:

> 
> 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.

This is the default way emacs has edited perl files for as long as I can
remember (back to 1996). It became my standard of editing perl files just
because of that. For everything else, I use tabs.

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

Probably because Joe probably uses vim ;-)

> 
> 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 rather have all tabs, or the tab and spaces. I find 8 spaces to be a
waste of memory and disk space.

> 
> 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 1/2 only made it consistent, as the original code had the tab/spaces mix
and just a few lines that were modified by others broke it by adding all
spaces.

> 
> 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.

I'm guessing this is not strange to other perl developers who uses emacs.

> 
> Not all people use vim.

I don't use it either. I was trying to make vim match emacs. Of course for
those that use something else, it wont help. I'm curious, what's your main
editor that you use?

> I am not interested in 1/2 either.

OK.

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

I'm fine with that.

> 
> 
> [1]: https://lore.kernel.org/lkml/20200703073143.423557-1-danny@kdrag0n.dev/

Thanks for the link.

-- Steve
Masahiro Yamada March 25, 2021, 2:09 p.m. UTC | #6
On Thu, Mar 25, 2021 at 10:50 PM Steven Rostedt <rostedt@goodmis.org> wrote:
>
> On Thu, 25 Mar 2021 15:20:13 +0900
> Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> >
> > 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.
>
> This is the default way emacs has edited perl files for as long as I can
> remember (back to 1996). It became my standard of editing perl files just
> because of that. For everything else, I use tabs.
>
> >
> > For example, scripts/checkpatch.pl uses only tabs,
> > which I think is more robust.
>
> Probably because Joe probably uses vim ;-)
>
> >
> > 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 rather have all tabs, or the tab and spaces. I find 8 spaces to be a
> waste of memory and disk space.
>
> >
> > 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 1/2 only made it consistent, as the original code had the tab/spaces mix
> and just a few lines that were modified by others broke it by adding all
> spaces.
>
> >
> > 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.
>
> I'm guessing this is not strange to other perl developers who uses emacs.
>
> >
> > Not all people use vim.
>
> I don't use it either. I was trying to make vim match emacs. Of course for
> those that use something else, it wont help. I'm curious, what's your main
> editor that you use?


I use emacs.

I have some setups in my ~/.emacs
although I am not an expert of emacs lisp.


(defalias 'perl-mode 'cperl-mode)

(add-hook 'cperl-mode-hook
          (lambda()
                (setq cperl-indent-level 8)
(setq cperl-tab-always-indent t)
            (setq tab-width 8)
            (setq indent-tabs-mode t)
            ))




Then, emacs can understand that
my preference is tab-indentation
with 8 character width.







>
> > I am not interested in 1/2 either.
>
> OK.
>
> >
> > If you insist on this patch set, apply it to your tree
> > and send a pull request by yourself.
>
> I'm fine with that.
>
> >
> >
> > [1]: https://lore.kernel.org/lkml/20200703073143.423557-1-danny@kdrag0n.dev/
>
> Thanks for the link.
>
> -- Steve
Steven Rostedt March 25, 2021, 3:10 p.m. UTC | #7
On Thu, 25 Mar 2021 23:09:38 +0900
Masahiro Yamada <masahiroy@kernel.org> wrote:

> > > Not all people use vim.  
> >
> > I don't use it either. I was trying to make vim match emacs. Of course for
> > those that use something else, it wont help. I'm curious, what's your main
> > editor that you use?  
> 
> 
> I use emacs.
> 
> I have some setups in my ~/.emacs
> although I am not an expert of emacs lisp.
> 
> 
> (defalias 'perl-mode 'cperl-mode)
> 
> (add-hook 'cperl-mode-hook
>           (lambda()
>                 (setq cperl-indent-level 8)
> (setq cperl-tab-always-indent t)
>             (setq tab-width 8)
>             (setq indent-tabs-mode t)
>             ))
> 
> 
> 
> 
> Then, emacs can understand that
> my preference is tab-indentation
> with 8 character width.

Ah, so you edited your perl-mode to not use the emacs default. I never did.

I was just letting you know where I picked up the "mix up space-indentation
and tab-indentation" from ;-)  I'm sure if you removed those lines, you
would then see why I use that "standard".

I've been doing it for so long on all my perl files, it's been engraved in
me to do it that way whenever I work on perl.

-- Steve
Joe Perches March 26, 2021, 7:51 a.m. UTC | #8
On Thu, 2021-03-25 at 09:50 -0400, Steven Rostedt wrote:
> On Thu, 25 Mar 2021 15:20:13 +0900 Masahiro Yamada <masahiroy@kernel.org> wrote:
> > 
> > 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.
> 
> This is the default way emacs has edited perl files for as long as I can
> remember (back to 1996). It became my standard of editing perl files just
> because of that. For everything else, I use tabs.
[]
> > For example, scripts/checkpatch.pl uses only tabs,
> > which I think is more robust.
> 
> Probably because Joe probably uses vim ;-)

I generally use emacs.  Maybe Andy Whitcroft uses vim.
For checkpatch.pl I just followed Andy's style.
get_maintainer.pl uses the 4 spaces then 1 tab style like Steven uses.

perl code can be pretty long left to right so using smaller indentation
seems useful there.
diff mbox series

Patch

diff --git a/scripts/kconfig/streamline_config.pl b/scripts/kconfig/streamline_config.pl
index 059061b6daef..044829972ba5 100755
--- a/scripts/kconfig/streamline_config.pl
+++ b/scripts/kconfig/streamline_config.pl
@@ -702,3 +702,5 @@  foreach my $module (keys(%modules)) {
 	print STDERR "\n";
     }
 }
+
+# vim: softtabstop=4