On Sat August 2 2003 1:01 pm, Seth Kurtzberg wrote:
> That is true of any tab size, providing you don't mix spaces in (as noted
> above).  In fact I tend to use two, but I expand it to four or eight
> temporarily is I want to see the block structure more clearly.

You tab-users do make a good argument for tabs, so what happens when you want 
to indent a continued argument list, or something else which isn't aligned on 
a tab boundary:

module Dumb
  class Fake
    def do_something?(bar, baz,
                      bat, buzz)
      true
    end
  end
end

An admittedly contrived example, but hopefully ok for the purposes of 
illustration.  Many people like that sort of alignment, where if there are 
too many arguments for one line, they continue on the next line and line up 
with the start of the first argument.

I imagine you'd have 1 tab before "class Fake", 2 before "def do_something..." 
and 3 before "true", but what about "bat, buzz"?  Can you do it in a way that 
the code still lines up if someone changes their tab sizes?  I'd guess you 
could do two tabs then a bunch of spaces, but it would seem to me that would 
be hard to "police".

Personally, I think the most important thing is never to mix tabs and spaces 
and since I've had problems with tabs in the past, I never use them at all 
now.  If you're interested in the topic, Jamie Zawinski has some great info 
on his web site about it, including emacs defuns to strip tabs from a file 
which contains them.

http://www.jwz.org/doc/tabs-vs-spaces.html

Ben