From 4c2c2793bad56ce05caf6244e10fd5bcd7023383 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Mon, 3 Aug 2009 10:55:34 -0400 Subject: [PATCH] Document and enforce the new spaces-only indentation policy. * cfg.mk (disable_temporarily): Remove sc_TAB_in_indentation, to enable the "make syntax-check" that enforces this. * .x-sc_TAB_in_indentation: New file. Exceptions. * HACKING: Document the policy, with tips on how to conform. --- .x-sc_TAB_in_indentation | 8 ++++++++ HACKING | 23 +++++++++++++++++++++++ cfg.mk | 5 ++--- 3 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 .x-sc_TAB_in_indentation diff --git a/.x-sc_TAB_in_indentation b/.x-sc_TAB_in_indentation new file mode 100644 index 0000000..c73edf2 --- /dev/null +++ b/.x-sc_TAB_in_indentation @@ -0,0 +1,8 @@ +^appliance/debian/modules/ +^images/ +^COPYING$ +^\.gitmodules$ +(^|\/)ChangeLog[^/]*$ +(^|\/)(?:GNU)?[Mm]akefile[^/]*$ +\.(am|mk)$ +^po/Rules-quot$ diff --git a/HACKING b/HACKING index c6a3022..815ee16 100644 --- a/HACKING +++ b/HACKING @@ -24,6 +24,29 @@ Please make sure that the code compiles without warnings. Please test any changes. +Code indentation +---------------------------------------------------------------------- +Our 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 2 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 libguestfs, use this style. + (defun libguestfs-c-mode () + "C mode with adjusted defaults for use with libguestfs." + (interactive) + (c-set-style "K&R") + (setq indent-tabs-mode nil) ; indent using spaces, not TABs + (setq c-indent-level 2) + (setq c-basic-offset 2)) + (add-hook 'c-mode-hook + '(lambda () (if (string-match "/libguestfs" (buffer-file-name)) + (libguestfs-c-mode)))) + Directories ---------------------------------------------------------------------- diff --git a/cfg.mk b/cfg.mk index e92c34f..7130cea 100644 --- a/cfg.mk +++ b/cfg.mk @@ -65,7 +65,6 @@ local-checks-to-skip = \ disable_temporarily = \ sc_makefile_TAB_only_indentation \ sc_unmarked_diagnostics \ - sc_TAB_in_indentation \ sc_prohibit_ctype_h \ sc_prohibit_asprintf \ sc_m4_quote_check \ @@ -107,10 +106,10 @@ sc_prohibit_ctype_h: 1>&2; exit 1; } || : # Ensure that no C source file uses TABs for indentation. +# Exclude some version-controlled symlinks. sc_TAB_in_indentation: @grep -lE '^ * ' /dev/null \ - $$($(VC_LIST_EXCEPT) \ - | grep -E '\.[ch](\.in)?$$') && \ + $$($(VC_LIST_EXCEPT)) && \ { echo '$(ME): found TAB(s) used for indentation in C sources;'\ 'use spaces' 1>&2; exit 1; } || : -- 1.8.3.1