From: "nobu (Nobuyoshi Nakada)" <nobu@...>
Date: 2012-12-03T11:39:11+09:00
Subject: [ruby-core:50498] [ruby-trunk - Bug #6854][Closed] ruby-mode.el has radical changes in `ruby-deep-indent-paren' logic


Issue #6854 has been updated by nobu (Nobuyoshi Nakada).

Status changed from Open to Closed

Use Emacs-bundled ruby-mode.el.
----------------------------------------
Bug #6854: ruby-mode.el has radical changes in `ruby-deep-indent-paren' logic
https://bugs.ruby-lang.org/issues/6854#change-34335

Author: dgutov (Dmitry Gutov)
Status: Closed
Priority: Normal
Assignee: nobu (Nobuyoshi Nakada)
Category: misc
Target version: 
ruby -v: ruby 1.9.2p290 (2011-07-09) [i386-mingw32]


The following commits make a non-backward compatible change in how `ruby-deep-indent-paren' works:

https://github.com/ruby/ruby/commit/85df40e9ab4559cd4ddde3f106ab56c76a808cc8
https://github.com/ruby/ruby/commit/6b0dc7fd81b25bc66681548b8b82f38258f7e08c
https://github.com/ruby/ruby/commit/862048e28d26112af1e67205cfd1c16564590bce
https://github.com/ruby/ruby/commit/d9e6b7d6a5e81afb588d79ef923b70890cdec4ba

Basically, the change disables deep-indent in all types of parens in (almost?) all situations.
If disabling deep-indent was the idea, I think changing the default value of this variable to nil would be sufficient.

Personally, I adopted another approach: deep-indent is on by default, but it's disabled when the first array element/call argument is not on the same line as the paren. This is similar to how indentation works in js-mode, for example.
To implement that, I imagine we'd need to make this check in `ruby-deep-indent-paren-p' instead of (ruby-expr-beg) call.

I can make a patch that would do that, but first I'd really like to see an explanation and/or examples of what exactly the changes above were meant to accomplish.


-- 
http://bugs.ruby-lang.org/