I suppose so, but it takes 10 seconds to redo indentation with any one 
of many available tools.

On Saturday, August 2, 2003, at 11:40  AM, Ben Giddings wrote:

> On Sat August 2 2003 2:09 pm, Seth Kurtzberg wrote:
>> And, in fact, if you set up emacs to use tabs, emacs will use spaces 
>> to
>> get to a column which isn't a tab column; it will simply use the
>> maximum number of tabs and then the minimum number of spaces.
>
> Right, but then that breaks my example because it would insert more 
> than 2
> tabs before "bat, buzz)"
>
> module Dumb
>   class Fake
>     def do_something?(bar, baz,
>                       bat, buzz)
>       true
>     end
>   end
> end
>
> Change tab size to 8
>
> module Dumb
>         class Fake
>                 def do_something?(bar, baz,
>                                   bat, buzz)
>                         true
>                 end
>         end
> end
>
> The above is what you'd want, but if it had inserted the maximum 
> number of
> tabs before using spaces when tabs were size 2, then you'd have 
> problems,
> like bat/buzz going way off to the side.
>
>> However, since it is so easy to convert back and forth (tabs to 
>> spaces,
>> spaces to tabs) in emacs, one can certainly leave this as a matter of
>> personal preference.
>
> There are two scenarios:
> 1) "bat, buzz" is lined up with 2 tabs then as many spaces as 
> necessary to
> indent it properly
> 2) "bat, buzz" is indented with the maximum number of tabs, then as 
> many
> spaces as needed to fill in
>
> Number 1 works when tab size is changed, but number 2 doesn't.  As far 
> as I
> can tell, emacs does #2 when you hit the "tab" key, so unless you 
> indent
> manually, code using tabs won't be portably aligned.
>
> If I had the freedom to hit the "tab" key and have it "do the right 
> thing"
> while using the tab character, I'd use tabs, but it doesn't, so I'll 
> stick
> with spaces.  I guess the only real solution to this is the python 
> solution:
> if it isn't indented right, it doesn't work... but I think I'll stick 
> with
> Ruby.
>
> Ben
>
>
>
>
-----------------------------------------------------------------
Seth Kurtzberg
CTO
ISEC Research and Network Operations Center
480-314-1540
888-879-5206
seth / isec.us
-----------------------------------------------------------------