I vote with the indenting you've attributed to matz in all of these. I don't 
see that any of these structures call for double-indenting.

Cheers,
Dave

"Dr Balwinder S Dheeman" <bsd.SANSPAM / cto.homelinux.net> asked:
> Dear Rubiest!
>
> I'm working on a Ruby source code formatting and, or beautification 
> utility (http://rindent.rubyforge.org/) for ruby programmers and, or 
> developers.
>
> Hence, I'm looking forward to your valuable ideas on how do I format the 
> following code structures:
>
> 1) *begin*
>
> 1.1.1) as per matz:
>
> begin
>   expr..
> [rescue [error_type,..]
>   expr..]..
> [else
>   expr..]
> [ensure
>   expr..]
> end
>
> 1.2.1) but I prefer:
>
> begin
>     expr..
>   [rescue [error_type,..]
>     expr..]..
> [else        # a hanging 'else' clause
>   expr..]
> [ensure      # a hanging 'ensure' clause
>   expr..]
> end
>
> 1.2.2) but I also like:
>
> begin
>     expr..
>   [rescue [error_type,..]
>     expr..]..
>   [else
>     expr..]
>   [ensure
>     expr..]
> end
>
>
> 2) *case*
>
> 2.1.1) as per matz:
>
> case expr
> [when expr [, expr]...[then]
>   expr..]..
> [else
>   expr..]
> end
>
> 2.2.1) but I prefer:
>
> case expr
>   [when expr [, expr]...[then]
>     expr..]..
> [else # a hanging 'else' clause
>   expr..]
> end
>
> 2.2.2) but I also like:
>
> case expr
>   [when expr [, expr]...[then]
>     expr..]..
>   [else
>     expr..]
> end