Richard W.M. Jones wrote:
On Mon, Aug 03, 2009 at 02:59:37PM +0200, Jim Meyering wrote:
> Richard W.M. Jones wrote:
>
> > On Mon, Aug 03, 2009 at 11:50:29AM +0100, Matthew Booth wrote:
> >> ---
> >
> > ACK. Purely whitespace changes, or changes which fix typos, or add
> > documentation shouldn't really need acking.
>
> How do you feel about a no-TABs-for-indentation rule?
> (like the one libvirt uses)
Is there a once-and-for-all change I can make to .emacs to stop it
from doing that?
Sure. libvirt's HACKING has a tip I like:
I'll be happy to extend it to other modes if that'd help,
so it also affects ocaml, shell scripts, etc.:
Code indentation
================
Libvirt's C source code generally adheres to some basic code-formatting
conventions. The existing code base is not totally consistent on this
front, but we do prefer that contributed code be formatted similarly.
In short, use spaces-not-TABs for indentation, use 4 spaces for each
indentation level, and other than that, follow the K&R style.
If you use Emacs, add the following to one of one of your start-up files
(e.g., ~/.emacs), to help ensure that you get indentation right:
;;; When editing C sources in libvirt, use this style.
(defun libvirt-c-mode ()
"C mode with adjusted defaults for use with libvirt."
(interactive)
(c-set-style "K&R")
(setq indent-tabs-mode nil) ; indent using spaces, not TABs
(setq c-indent-level 4)
(setq c-basic-offset 4))
(add-hook 'c-mode-hook
'(lambda () (if (string-match "/libvirt" (buffer-file-name))
(libvirt-c-mode))))