unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "Bozhidar Batsov" <bozhidar@batsov.dev>
To: "Lars Ingebrigtsen" <larsi@gnus.org>
Cc: 32496@debbugs.gnu.org,
	Artur Malabarba <bruce.connor.am@gmail.com>,
	Dmitry Gutov <dgutov@yandex.ru>
Subject: bug#32496: 27.0.50; Strange indentation when ruby-align-chained-calls is t
Date: Wed, 01 Sep 2021 13:02:56 +0300	[thread overview]
Message-ID: <d816c696-8552-482f-b5b1-ba50bae15fc9@www.fastmail.com> (raw)
In-Reply-To: <87r1e8ei5v.fsf@gnus.org>

[-- Attachment #1: Type: text/plain, Size: 2127 bytes --]

Ah, I finally understood the issue at hand! It's really hard to discuss indentation problems in e-mail. :D

Yeah, I can confirm there's a bug when using (setq ruby-align-chained-calls t) in this example:

some_variable.where.not(x: nil)
                         .where(y: 2)

The two `where`s should be lined up, but currently the second `where` is lined up with the `not`.

some_variable.where.not(x: nil)
                                    .where(y: 2)

I can also confirm that the first behavior is what RuboCop (Ruby's popular linter/formatter) expects, when configured for aligned chained method calls. 

On Wed, Sep 1, 2021, at 12:53 PM, Lars Ingebrigtsen wrote:
> Bozhidar Batsov <bozhidar@batsov.com> writes:
> 
> > Sorry for the radio silence - I've been super busy lately. 
> >
> > It's hard for me to understand the indentation in the examples in the email
> > (as it seems the same to me). Very simply put - the idea is to align multi-line
> > chained calls on the `.`, as opposed to just nest them under the root receiver
> > as we'd normally do.
> >
> > I think Dmitry implemented this great and it's behaving just as it's supposed
> > to be behaving. Perhaps you misunderstood how this was supposed to
> > behave? What's the indentation you expected? 
> 
> (I'm going through old bug reports that unfortunately weren't resolved
> at the time.)
> 
> The examples were in HTML mail, so they were difficult to understand.
> 
> Emacs (with (setq ruby-align-chained-calls t)) currently aligns like
> this:
> 
> some_variable.where
>              .not(x: nil)
>              .where(y: 2)
> 
> Which is correct.  However, when there's a mixture of keeping things on
> one line and breaking, we get this:
> 
> some_variable.where.not(x: nil)
>                    .where(y: 2)
> 
> I think the bug reporter wants:
> 
> some_variable.where.not(x: nil)
>              .where(y: 2)
> 
> I.e., align multiline chained calls on the first dot, not the last?
> 
> (I don't know Ruby, so I have no opinion here.)
> 
> -- 
> (domestic pets only, the antidote for overdose, milk.)
>    bloggy blog: http://lars.ingebrigtsen.no
> 

[-- Attachment #2: Type: text/html, Size: 3655 bytes --]

  reply	other threads:[~2021-09-01 10:02 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-22 11:36 bug#32496: 27.0.50; Strange indentation when ruby-align-chained-calls is t Artur Malabarba
2018-08-22 12:50 ` Dmitry Gutov
2018-10-27 22:22   ` Artur Malabarba
2018-11-18  8:36     ` Bozhidar Batsov
2021-09-01  9:53       ` Lars Ingebrigtsen
2021-09-01 10:02         ` Bozhidar Batsov [this message]
2021-09-02  6:55           ` Lars Ingebrigtsen
2021-09-08 19:01             ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-09-09 14:25               ` Lars Ingebrigtsen
2020-09-11 17:16 ` Wendel Scardua

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d816c696-8552-482f-b5b1-ba50bae15fc9@www.fastmail.com \
    --to=bozhidar@batsov.dev \
    --cc=32496@debbugs.gnu.org \
    --cc=bruce.connor.am@gmail.com \
    --cc=dgutov@yandex.ru \
    --cc=larsi@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).