linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Documentation: update CodingStyle tips for Emacs users
@ 2009-01-18 17:18 Teemu Likonen
  2009-01-26 15:20 ` Teemu Likonen
  0 siblings, 1 reply; 8+ messages in thread
From: Teemu Likonen @ 2009-01-18 17:18 UTC (permalink / raw)
  To: linux-doc; +Cc: linux-kernel, hannes

With the previous Emacs tips example the kernel style was made available
for files in the kernel-tree only. This patch updates the tip to add
separate cc-mode indent style; it makes the kernel style easily
available for any filetype mode that is managed by the Emacs cc-mode.

We also fix the filename regexp in the example: Elisp function
buffer-file-name returns full pathname, not a path relative to user's
home directory. Hence a tilde (~) can't be used to refer to home
directory (as the previous code did).

Signed-off-by: Teemu Likonen <tlikonen@iki.fi>
---
 Documentation/CodingStyle |   19 +++++++++++++------
 1 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/Documentation/CodingStyle b/Documentation/CodingStyle
index 1875e50..2cda242 100644
--- a/Documentation/CodingStyle
+++ b/Documentation/CodingStyle
@@ -483,20 +483,27 @@ values.  To do the latter, you can stick the following in your .emacs file:
     (* (max steps 1)
        c-basic-offset)))
 
+(add-hook 'c-mode-common-hook
+          (lambda ()
+            ;; Add kernel style
+            (c-add-style
+             "linux-tabs-only"
+             '("linux" (c-offsets-alist
+                        (arglist-cont-nonempty
+                         c-lineup-gcc-asm-reg
+                         c-lineup-arglist-tabs-only))))))
+
 (add-hook 'c-mode-hook
           (lambda ()
             (let ((filename (buffer-file-name)))
               ;; Enable kernel mode for the appropriate files
               (when (and filename
-                         (string-match "~/src/linux-trees" filename))
+                         (string-match "src/linux-trees" filename))
                 (setq indent-tabs-mode t)
-                (c-set-style "linux")
-                (c-set-offset 'arglist-cont-nonempty
-                              '(c-lineup-gcc-asm-reg
-                                c-lineup-arglist-tabs-only))))))
+                (c-set-style "linux-tabs-only")))))
 
 This will make emacs go better with the kernel coding style for C
-files below ~/src/linux-trees.
+files which pathname matches src/linux-trees.
 
 But even if you fail in getting emacs to do sane formatting, not
 everything is lost: use "indent".
-- 
1.6.1.156.gb648d


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] Documentation: update CodingStyle tips for Emacs users
  2009-01-18 17:18 [PATCH] Documentation: update CodingStyle tips for Emacs users Teemu Likonen
@ 2009-01-26 15:20 ` Teemu Likonen
  2009-01-26 16:38   ` Randy Dunlap
  0 siblings, 1 reply; 8+ messages in thread
From: Teemu Likonen @ 2009-01-26 15:20 UTC (permalink / raw)
  To: linux-doc; +Cc: linux-kernel, Michael Kerrisk, Randy Dunlap, Johannes Weiner

Teemu Likonen (2009-01-18 19:18 +0200) wrote:

> With the previous Emacs tips example the kernel style was made available
> for files in the kernel-tree only. This patch updates the tip to add
> separate cc-mode indent style; it makes the kernel style easily
> available for any filetype mode that is managed by the Emacs cc-mode.
>
> We also fix the filename regexp in the example: Elisp function
> buffer-file-name returns full pathname, not a path relative to user's
> home directory. Hence a tilde (~) can't be used to refer to home
> directory (as the previous code did).
>
> Signed-off-by: Teemu Likonen <tlikonen@iki.fi>
> ---
>  Documentation/CodingStyle |   19 +++++++++++++------
>  1 files changed, 13 insertions(+), 6 deletions(-)


Exactly what I expected: nobody pays any attention. :-) Well, it's not a
problem, I'm not even a kernel coder. I just happen to think that this
patch introduces the right way to configure Emacs for kernel coding
style. Adding a custom style like this ("linux-tabs-only") makes it much
easier to switch between different indent styles and also to use the
kernel style elsewhere.

So, I'll just ping the lists and maintainers this one more time to see
if someone is interested. Here's my original message:

    http://article.gmane.org/gmane.linux.documentation/442


> diff --git a/Documentation/CodingStyle b/Documentation/CodingStyle
> index 1875e50..2cda242 100644
> --- a/Documentation/CodingStyle
> +++ b/Documentation/CodingStyle
> @@ -483,20 +483,27 @@ values.  To do the latter, you can stick the following in your .emacs file:
>      (* (max steps 1)
>         c-basic-offset)))
>  
> +(add-hook 'c-mode-common-hook
> +          (lambda ()
> +            ;; Add kernel style
> +            (c-add-style
> +             "linux-tabs-only"
> +             '("linux" (c-offsets-alist
> +                        (arglist-cont-nonempty
> +                         c-lineup-gcc-asm-reg
> +                         c-lineup-arglist-tabs-only))))))
> +
>  (add-hook 'c-mode-hook
>            (lambda ()
>              (let ((filename (buffer-file-name)))
>                ;; Enable kernel mode for the appropriate files
>                (when (and filename
> -                         (string-match "~/src/linux-trees" filename))
> +                         (string-match "src/linux-trees" filename))
>                  (setq indent-tabs-mode t)
> -                (c-set-style "linux")
> -                (c-set-offset 'arglist-cont-nonempty
> -                              '(c-lineup-gcc-asm-reg
> -                                c-lineup-arglist-tabs-only))))))
> +                (c-set-style "linux-tabs-only")))))
>  
>  This will make emacs go better with the kernel coding style for C
> -files below ~/src/linux-trees.
> +files which pathname matches src/linux-trees.
>  
>  But even if you fail in getting emacs to do sane formatting, not
>  everything is lost: use "indent".
> -- 
> 1.6.1.156.gb648d

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] Documentation: update CodingStyle tips for Emacs users
  2009-01-26 15:20 ` Teemu Likonen
@ 2009-01-26 16:38   ` Randy Dunlap
  2009-01-26 16:56     ` Teemu Likonen
  0 siblings, 1 reply; 8+ messages in thread
From: Randy Dunlap @ 2009-01-26 16:38 UTC (permalink / raw)
  To: Teemu Likonen
  Cc: linux-doc, linux-kernel, Michael Kerrisk, Johannes Weiner, Dan Carpenter

Teemu Likonen wrote:
> Teemu Likonen (2009-01-18 19:18 +0200) wrote:
> 
>> With the previous Emacs tips example the kernel style was made available
>> for files in the kernel-tree only. This patch updates the tip to add
>> separate cc-mode indent style; it makes the kernel style easily
>> available for any filetype mode that is managed by the Emacs cc-mode.
>>
>> We also fix the filename regexp in the example: Elisp function
>> buffer-file-name returns full pathname, not a path relative to user's
>> home directory. Hence a tilde (~) can't be used to refer to home
>> directory (as the previous code did).
>>
>> Signed-off-by: Teemu Likonen <tlikonen@iki.fi>
>> ---
>>  Documentation/CodingStyle |   19 +++++++++++++------
>>  1 files changed, 13 insertions(+), 6 deletions(-)
> 
> 
> Exactly what I expected: nobody pays any attention. :-) Well, it's not a
> problem, I'm not even a kernel coder. I just happen to think that this
> patch introduces the right way to configure Emacs for kernel coding
> style. Adding a custom style like this ("linux-tabs-only") makes it much
> easier to switch between different indent styles and also to use the
> kernel style elsewhere.
> 
> So, I'll just ping the lists and maintainers this one more time to see
> if someone is interested. Here's my original message:
> 
>     http://article.gmane.org/gmane.linux.documentation/442
> 

OK, I see it.  I'm not an emacs user and I have no idea how correct
the patch is.

There is another emacs CodingStyle patch from Dan Carpenter that
expands the "~" part of the filename to the user directory:
see http://lkml.org/lkml/2009/1/21/62

so I would be tempted to merge/apply both patches.

Any other comments on these patches?

> 
>> diff --git a/Documentation/CodingStyle b/Documentation/CodingStyle
>> index 1875e50..2cda242 100644
>> --- a/Documentation/CodingStyle
>> +++ b/Documentation/CodingStyle
>> @@ -483,20 +483,27 @@ values.  To do the latter, you can stick the following in your .emacs file:
>>      (* (max steps 1)
>>         c-basic-offset)))
>>  
>> +(add-hook 'c-mode-common-hook
>> +          (lambda ()
>> +            ;; Add kernel style
>> +            (c-add-style
>> +             "linux-tabs-only"
>> +             '("linux" (c-offsets-alist
>> +                        (arglist-cont-nonempty
>> +                         c-lineup-gcc-asm-reg
>> +                         c-lineup-arglist-tabs-only))))))
>> +
>>  (add-hook 'c-mode-hook
>>            (lambda ()
>>              (let ((filename (buffer-file-name)))
>>                ;; Enable kernel mode for the appropriate files
>>                (when (and filename
>> -                         (string-match "~/src/linux-trees" filename))
>> +                         (string-match "src/linux-trees" filename))
>>                  (setq indent-tabs-mode t)
>> -                (c-set-style "linux")
>> -                (c-set-offset 'arglist-cont-nonempty
>> -                              '(c-lineup-gcc-asm-reg
>> -                                c-lineup-arglist-tabs-only))))))
>> +                (c-set-style "linux-tabs-only")))))
>>  
>>  This will make emacs go better with the kernel coding style for C
>> -files below ~/src/linux-trees.
>> +files which pathname matches src/linux-trees.
>>  
>>  But even if you fail in getting emacs to do sane formatting, not
>>  everything is lost: use "indent".
>> -- 

Thanks.
-- 
~Randy

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] Documentation: update CodingStyle tips for Emacs users
  2009-01-26 16:38   ` Randy Dunlap
@ 2009-01-26 16:56     ` Teemu Likonen
  2009-01-26 17:01       ` [PATCH v2] " Teemu Likonen
  0 siblings, 1 reply; 8+ messages in thread
From: Teemu Likonen @ 2009-01-26 16:56 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: linux-doc, linux-kernel, Michael Kerrisk, Johannes Weiner, Dan Carpenter

Randy Dunlap (2009-01-26 08:38 -0800) wrote:

> Teemu Likonen wrote:
>>     http://article.gmane.org/gmane.linux.documentation/442

> OK, I see it.  I'm not an emacs user and I have no idea how correct
> the patch is.
>
> There is another emacs CodingStyle patch from Dan Carpenter that
> expands the "~" part of the filename to the user directory:
> see http://lkml.org/lkml/2009/1/21/62
>
> so I would be tempted to merge/apply both patches.
>
> Any other comments on these patches?

Ah, I definitely agree with Dan's change, so

    Acked-by: Teemu Likonen <tlikonen@iki.fi>

for that.

When it's applied my patch will be simpler. I'll resubmit to make your
life easier.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v2] Documentation: update CodingStyle tips for Emacs users
  2009-01-26 16:56     ` Teemu Likonen
@ 2009-01-26 17:01       ` Teemu Likonen
  2009-01-26 17:13         ` Randy Dunlap
  0 siblings, 1 reply; 8+ messages in thread
From: Teemu Likonen @ 2009-01-26 17:01 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: linux-doc, linux-kernel, Michael Kerrisk, Johannes Weiner, Dan Carpenter

With the previous Emacs tips example the kernel style was made available
for files in the kernel-tree only. This patch updates the tip to add a
separate cc-mode indent style ("linux-tabs-only"). This makes it easy to
switch between different indent styles and also makes the kernel style
easily available for any filetype mode (c++, awk, ...) that is managed
by the Emacs cc-mode.

Signed-off-by: Teemu Likonen <tlikonen@iki.fi>
---
 Documentation/CodingStyle |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/Documentation/CodingStyle b/Documentation/CodingStyle
index 1875e50..7b5762e 100644
--- a/Documentation/CodingStyle
+++ b/Documentation/CodingStyle
@@ -483,6 +483,16 @@ values.  To do the latter, you can stick the following in your .emacs file:
     (* (max steps 1)
        c-basic-offset)))
 
+(add-hook 'c-mode-common-hook
+          (lambda ()
+            ;; Add kernel style
+            (c-add-style
+             "linux-tabs-only"
+             '("linux" (c-offsets-alist
+                        (arglist-cont-nonempty
+                         c-lineup-gcc-asm-reg
+                         c-lineup-arglist-tabs-only))))))
+
 (add-hook 'c-mode-hook
           (lambda ()
             (let ((filename (buffer-file-name)))
@@ -490,10 +500,7 @@ values.  To do the latter, you can stick the following in your .emacs file:
               (when (and filename
                          (string-match "~/src/linux-trees" filename))
                 (setq indent-tabs-mode t)
-                (c-set-style "linux")
-                (c-set-offset 'arglist-cont-nonempty
-                              '(c-lineup-gcc-asm-reg
-                                c-lineup-arglist-tabs-only))))))
+                (c-set-style "linux-tabs-only")))))
 
 This will make emacs go better with the kernel coding style for C
 files below ~/src/linux-trees.
-- 
1.6.1.1.223.gc30e5


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v2] Documentation: update CodingStyle tips for Emacs users
  2009-01-26 17:01       ` [PATCH v2] " Teemu Likonen
@ 2009-01-26 17:13         ` Randy Dunlap
  2009-01-26 17:21           ` Teemu Likonen
  0 siblings, 1 reply; 8+ messages in thread
From: Randy Dunlap @ 2009-01-26 17:13 UTC (permalink / raw)
  To: Teemu Likonen
  Cc: linux-doc, linux-kernel, Michael Kerrisk, Johannes Weiner, Dan Carpenter

Teemu Likonen wrote:
> With the previous Emacs tips example the kernel style was made available
> for files in the kernel-tree only. This patch updates the tip to add a
> separate cc-mode indent style ("linux-tabs-only"). This makes it easy to
> switch between different indent styles and also makes the kernel style
> easily available for any filetype mode (c++, awk, ...) that is managed
> by the Emacs cc-mode.
> 
> Signed-off-by: Teemu Likonen <tlikonen@iki.fi>
> ---
>  Documentation/CodingStyle |   15 +++++++++++----
>  1 files changed, 11 insertions(+), 4 deletions(-)
> 
> diff --git a/Documentation/CodingStyle b/Documentation/CodingStyle
> index 1875e50..7b5762e 100644
> --- a/Documentation/CodingStyle
> +++ b/Documentation/CodingStyle
> @@ -483,6 +483,16 @@ values.  To do the latter, you can stick the following in your .emacs file:
>      (* (max steps 1)
>         c-basic-offset)))
>  
> +(add-hook 'c-mode-common-hook
> +          (lambda ()
> +            ;; Add kernel style
> +            (c-add-style
> +             "linux-tabs-only"
> +             '("linux" (c-offsets-alist
> +                        (arglist-cont-nonempty
> +                         c-lineup-gcc-asm-reg
> +                         c-lineup-arglist-tabs-only))))))
> +
>  (add-hook 'c-mode-hook
>            (lambda ()
>              (let ((filename (buffer-file-name)))
> @@ -490,10 +500,7 @@ values.  To do the latter, you can stick the following in your .emacs file:
>                (when (and filename
>                           (string-match "~/src/linux-trees" filename))
>                  (setq indent-tabs-mode t)
> -                (c-set-style "linux")
> -                (c-set-offset 'arglist-cont-nonempty
> -                              '(c-lineup-gcc-asm-reg
> -                                c-lineup-arglist-tabs-only))))))
> +                (c-set-style "linux-tabs-only")))))
>  
>  This will make emacs go better with the kernel coding style for C
>  files below ~/src/linux-trees.


I don't see Dan's patch merged into this one... ?

-- 
~Randy

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2] Documentation: update CodingStyle tips for Emacs users
  2009-01-26 17:13         ` Randy Dunlap
@ 2009-01-26 17:21           ` Teemu Likonen
  2009-01-26 17:23             ` Randy Dunlap
  0 siblings, 1 reply; 8+ messages in thread
From: Teemu Likonen @ 2009-01-26 17:21 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: linux-doc, linux-kernel, Michael Kerrisk, Johannes Weiner, Dan Carpenter

Randy Dunlap (2009-01-26 09:13 -0800) wrote:

> I don't see Dan's patch merged into this one... ?

That's because it's not. :-) I thought that Dan's patch is already there
somewhere queued for apply, and hence I removed from my patch the parts
that touch those areas in the file.

How should we proceed? I can amend Dan's patch to mine but perhaps he
wants to get credit for his idea.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2] Documentation: update CodingStyle tips for Emacs users
  2009-01-26 17:21           ` Teemu Likonen
@ 2009-01-26 17:23             ` Randy Dunlap
  0 siblings, 0 replies; 8+ messages in thread
From: Randy Dunlap @ 2009-01-26 17:23 UTC (permalink / raw)
  To: Teemu Likonen
  Cc: linux-doc, linux-kernel, Michael Kerrisk, Johannes Weiner, Dan Carpenter

Teemu Likonen wrote:
> Randy Dunlap (2009-01-26 09:13 -0800) wrote:
> 
>> I don't see Dan's patch merged into this one... ?
> 
> That's because it's not. :-) I thought that Dan's patch is already there
> somewhere queued for apply, and hence I removed from my patch the parts
> that touch those areas in the file.

Now I get it.

> How should we proceed? I can amend Dan's patch to mine but perhaps he
> wants to get credit for his idea.

Agreed.  I'll merge them separately.  Thanks.

-- 
~Randy

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2009-01-26 17:24 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-01-18 17:18 [PATCH] Documentation: update CodingStyle tips for Emacs users Teemu Likonen
2009-01-26 15:20 ` Teemu Likonen
2009-01-26 16:38   ` Randy Dunlap
2009-01-26 16:56     ` Teemu Likonen
2009-01-26 17:01       ` [PATCH v2] " Teemu Likonen
2009-01-26 17:13         ` Randy Dunlap
2009-01-26 17:21           ` Teemu Likonen
2009-01-26 17:23             ` Randy Dunlap

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).