Last time this was brought up only one person complained, but it really is a serious problem and we need standards. Therefore I propose the following:
* All source code files MUST use soft tabs at a tabstop of 4. No hard tabs are allowed.
* All source code files SHOULD have the following as the first line of the file:
# -*- Mode: Tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:et:sw=4:ts=4:sts=4
This is a modeline that works for both emacs and vim.
* Portfiles SHOULD use soft tabs at a tabstop of 4, but implementation of this is left up to the discretion of the maintainer.
* Portfiles SHOULD use the given modeline
* Makefiles MUST use tabs as it is required by the syntax. Makefiles SHOULD use a tab stop of 4.
* Makefiles MAY use a modeline. The following works for emacs and vim:
# -*- Mode: Makefile; tab-width: 4; indent-tabs-mode: t -*- vim:noet:sw=4:ts=4
* All other files (documentation, etc) SHOULD use soft tabs at a tabstop of 4 if the document format allows.
* All other files (documentation, etc) SHOULD NOT use a modeline as it is probably meant for human consumption.
Does anybody have suggestions for any changes? If not, I recommend implementing this immediately. Every time I edit a file I will be converting it to this format and committing in a separate changeset to keep the svn history and diffs clean. I recommend everybody do this.