Index: HACKING
===================================================================
RCS file: /cvs/gnome/metacity/HACKING,v
retrieving revision 1.15
diff -u -d -p -r1.15 HACKING
--- HACKING	14 Sep 2006 05:06:09 -0000	1.15
+++ HACKING	3 Oct 2006 13:29:46 -0000
@@ -35,6 +35,25 @@ Administrative issues
   instructions is that the minor version number of a Metacity release
   should always be a number from the Fibonacci sequence.
 
+  Coding style
+
+  Different developers have different coding styles. While no coding
+  style is perfect, the coding style of metacity is defined by its
+  current code: self-consistency of the coding style is much more
+  important than the coding style itself. Over time, several coding
+  style inconsistencies have sneaked in in various places. I don't
+  like changing them just to fix them since that introduces spurious
+  conflicts with backporting and such, but I do fix them if they are
+  on lines I'm modifying anyway (or are very close).
+
+  Please note that we pursue to have no TABs in new code. Each file
+  contains an emacs directive at the top, telling emacs not to use
+  TABs for indentation. Since vim does not have an equivalent, it
+  is your own responsibility to :set expandtab. You can also add
+  this your $HOME/.vimrc or temporarily make an alias for vi
+  while working on metacity: alias vi='vi -c "set expandtab"'. This
+  will avoid that vi automatically adds TABs when indenting code.
+
 Minimal Building/Testing Environment
   You do not need to _install_ a development version of Metacity to
   build, run and test it; you can run it from some temporary
