From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Aaron Jensen Newsgroups: gmane.emacs.bugs Subject: bug#61871: 29.0.60; ruby-mode indentation with destructuring assignment Date: Tue, 28 Feb 2023 15:00:33 -0500 Message-ID: References: <2eb42d48-87d5-2bc6-88c0-20dc1910dfe8@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="9373"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 61871@debbugs.gnu.org To: Dmitry Gutov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Feb 28 21:01:30 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pX6AE-0002J4-4T for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 28 Feb 2023 21:01:30 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pX69x-000497-9D; Tue, 28 Feb 2023 15:01:17 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pX69m-00042q-JB for bug-gnu-emacs@gnu.org; Tue, 28 Feb 2023 15:01:04 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pX69m-0005dT-AP for bug-gnu-emacs@gnu.org; Tue, 28 Feb 2023 15:01:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pX69m-0002Qn-4d for bug-gnu-emacs@gnu.org; Tue, 28 Feb 2023 15:01:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Aaron Jensen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 28 Feb 2023 20:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 61871 X-GNU-PR-Package: emacs Original-Received: via spool by 61871-submit@debbugs.gnu.org id=B61871.16776144529321 (code B ref 61871); Tue, 28 Feb 2023 20:01:02 +0000 Original-Received: (at 61871) by debbugs.gnu.org; 28 Feb 2023 20:00:52 +0000 Original-Received: from localhost ([127.0.0.1]:52061 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pX69c-0002QG-8y for submit@debbugs.gnu.org; Tue, 28 Feb 2023 15:00:52 -0500 Original-Received: from mail-pj1-f45.google.com ([209.85.216.45]:56088) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pX69a-0002Q4-L9 for 61871@debbugs.gnu.org; Tue, 28 Feb 2023 15:00:51 -0500 Original-Received: by mail-pj1-f45.google.com with SMTP id oj5so7050261pjb.5 for <61871@debbugs.gnu.org>; Tue, 28 Feb 2023 12:00:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=9FjRrmA7Lk1j7aKIvRREjAbBOfpk7UalNO7XtfqBfg0=; b=GsSoTGYCTPYEU37LHu+xtRAfaRn/aTkyThmqFKzXXo2nkfM24SHfwddaOZ2YK5AaIu TqvkDnV9upzkVkkPzzdeGhWBKVaQ+dQA7KHjIwxribn7cf+u0AjQVwFyqCeW8hx/agy+ Tmo/heYTspmJQMAWBZY778mBwszflkq9g6+skOwBnPdBvVpB841PZeVAsELrIlu9zjqO rCktMxT5l4BFC3otL3ULOjav/7hpQ/jMRIM2C/RqBr9BMiJIp4VHO4zMTIaJfVRzYGu0 9L4S55e8tZD46gj74ZnosVdnhwXxRmbEUJAbyqf/QyGuiKL6ZC2XXxOAWrxbvkiYft3O yT0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9FjRrmA7Lk1j7aKIvRREjAbBOfpk7UalNO7XtfqBfg0=; b=DgkjT/4ccb9w4LNn2MzW7lhHo4HAX1qh3dBfqjeDwKj8OFdGgFEKmUJktPlw7Mwl6G raETGGvkifR8aUciQ8I9xTYbdGmkZRwYBzXYAMqOq307lnWLH8+RpO4Yk4HEcuqhtPaJ qnr3qc2G/4HH4cehjfAqcRa7J2OTPNBrCCo0tjjqvqmst9oq4a+6d+IVt2OkiFcCAOGj lEClnN90sy9Yme18ms2Mhr4pD0ZGr9OQCFFbGPyHovsyqRHIZvWfoeP+hhxMGmSVom1F dtTrBbKlJEZVotAK8wY4Jh/QIq7bXrbomnFkxO9886kfsW5J6UPhqAuvGl+5A1W68jPe 9uDw== X-Gm-Message-State: AO0yUKWrHGAzYsXIZ0HgcYSE/tA6mxpb/Qyqz7NMBVeJsrcAokrB1wze Qr7Oc3elBvvfwnHkZf1558DzPeMlD5Qeyb1tRCo= X-Google-Smtp-Source: AK7set8hWkt+Gfyo16AGk5J5c372ml5JZkQimy4QXqpI9l4SDysZ7y2wYhNKrU1dgOyVO9I0oGR26JltZEVxwNie7VU= X-Received: by 2002:a17:90a:d193:b0:234:b23:eade with SMTP id fu19-20020a17090ad19300b002340b23eademr1596702pjb.9.1677614444771; Tue, 28 Feb 2023 12:00:44 -0800 (PST) In-Reply-To: <2eb42d48-87d5-2bc6-88c0-20dc1910dfe8@yandex.ru> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:257011 Archived-At: On Tue, Feb 28, 2023 at 1:37=E2=80=AFPM Dmitry Gutov wro= te: > > Hi! > > On 28/02/2023 18:17, Aaron Jensen wrote: > > I found another edge case: > > > > foo, bar =3D baz.( > > some_arg > > ) > > > > Should indent to: > > > > foo, bar =3D baz.( > > some_arg > > ) > > Thanks for that. This one is caused by implicit syntax which it > non-trivial for SMIE to handle. ruby-ts-mode, predictably, indents it fin= e. > > Please try this patch out: > > diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el > index 559b62fef54..beccb8182a7 100644 > --- a/lisp/progmodes/ruby-mode.el > +++ b/lisp/progmodes/ruby-mode.el > @@ -916,11 +916,14 @@ ruby-smie-rules > (smie-indent--hanging-p)) > ruby-indent-level))) > (`(:before . "=3D") > - (save-excursion > - (and (smie-rule-parent-p " @ ") > - (goto-char (nth 1 (smie-indent--parent))) > - (smie-rule-prev-p "def=3D") > - (cons 'column (+ (current-column) ruby-indent-level -3))))) > + (or > + (save-excursion > + (and (smie-rule-parent-p " @ ") > + (goto-char (nth 1 (smie-indent--parent))) > + (smie-rule-prev-p "def=3D") > + (cons 'column (+ (current-column) ruby-indent-level -3)))) > + (and (smie-rule-parent-p ",") > + (smie-rule-parent)))) > (`(:after . ,(or "?" ":")) > (if ruby-after-operator-indent > ruby-indent-level This works for me for this case, thank you. Aaron