From unknown Mon Jun 23 02:25:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#61871: 29.0.60; ruby-mode indentation with destructuring assignment Resent-From: Aaron Jensen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 28 Feb 2023 16:18:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 61871 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 61871@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.167760106118013 (code B ref -1); Tue, 28 Feb 2023 16:18:01 +0000 Received: (at submit) by debbugs.gnu.org; 28 Feb 2023 16:17:41 +0000 Received: from localhost ([127.0.0.1]:51853 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pX2fc-0004gS-UX for submit@debbugs.gnu.org; Tue, 28 Feb 2023 11:17:41 -0500 Received: from lists.gnu.org ([209.51.188.17]:40166) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pX2fb-0004gD-2c for submit@debbugs.gnu.org; Tue, 28 Feb 2023 11:17:39 -0500 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 1pX2fW-0000yw-2g for bug-gnu-emacs@gnu.org; Tue, 28 Feb 2023 11:17:35 -0500 Received: from mail-ua1-x92a.google.com ([2607:f8b0:4864:20::92a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pX2fU-0002Ik-Hi for bug-gnu-emacs@gnu.org; Tue, 28 Feb 2023 11:17:33 -0500 Received: by mail-ua1-x92a.google.com with SMTP id d12so1577431uak.10 for ; Tue, 28 Feb 2023 08:17:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:message-id:date:subject:to:from:from:to:cc:subject :date:message-id:reply-to; bh=TvN1Vv5+FPzrKkXKnGbuNTa5Th8I0Ks7JuWtzW/ckko=; b=eGC5gv3Su/roL+C41ENliG0SUV2ldHbB1vTus8yhboPQXwyqsK+huTkKG2PPsvwvL8 tH5ZTfxgJhgInzzTP+xFmclB8F0nCX3ldcIV+qkuHHdy3rFrxB4tVjHHzCW+QtxwqDm6 5/1+2xZbWyKEPfskVwfx4f0nSvPRBuD1OM/KzWCWmiUWS+iPOzjlvHg7btJkFeLNUNF+ 1uYESHhNMztq7YGet7NaWCBC/TkQOQPGnDsgfeJ3o75nQLra/A447ZVukkitWgrWkLqB 6vZqcHJrbcEo9WYQlJoRT8YoRsr/RbuxueVkr0tQomjPdQUKeNGktFSvFntK8eTRTiSs kcTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:message-id:date:subject:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=TvN1Vv5+FPzrKkXKnGbuNTa5Th8I0Ks7JuWtzW/ckko=; b=6PDzbgjgUU2YMeuAOmDI/vYSbQyEQAYliZlUloh5UYqCWl0KJlutS4lnGeHAKKMPxC SaU1yp1hfRMiboC0hgThvm+IvHtu1FDBsX5gKv2x+Uy5O9WSMbS4w59rBp8p/tlySMF5 DnQLTMl8+Swi5ixEsvCDmkpoz5LSbi2CpEYncPrELSZaAxxMl0P6oGXwn6uAb7fBbKPg Dp5hejTG7ixEJCnwqxsDvLHhM2vqLiRK2V8fz6fkv3eoKj8YKkEI5EHL0vkD7k14NKnI 6s8y3gIjZc6Cu+nOGHGZz78PtI3FKf1uujMOiXXiu1XyQuZsZByFCb0s1NaSNPRacLAN 54qQ== X-Gm-Message-State: AO0yUKWrTGlgCZAsmaLC2Gi0cfiPTU1KOmjUgHPW5oOAGx4bTonSgKbG ivBazFtukJetK6J1TecGv4L8Eb5gL0I= X-Google-Smtp-Source: AK7set8HNlrUQulYl3EUIlVjV51LrPVdfa1l9KY3C7Sg3pR0Btm9UwiehrEQXTevCu5+Y9bDg54QQQ== X-Received: by 2002:a1f:ad86:0:b0:401:41ff:4052 with SMTP id w128-20020a1fad86000000b0040141ff4052mr1171052vke.16.1677601049957; Tue, 28 Feb 2023 08:17:29 -0800 (PST) Received: from Aarons-Laptop.local (c-73-23-241-101.hsd1.fl.comcast.net. [73.23.241.101]) by smtp.gmail.com with ESMTPSA id b127-20020a1fb285000000b00400ea42f476sm1363473vkf.36.2023.02.28.08.17.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Feb 2023 08:17:29 -0800 (PST) From: Aaron Jensen Date: Tue, 28 Feb 2023 11:17:27 -0500 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::92a; envelope-from=aaronjensen@gmail.com; helo=mail-ua1-x92a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) I found another edge case: foo, bar = baz.( some_arg ) Should indent to: foo, bar = baz.( some_arg ) From unknown Mon Jun 23 02:25:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#61871: 29.0.60; ruby-mode indentation with destructuring assignment Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 28 Feb 2023 18:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 61871 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Aaron Jensen , 61871@debbugs.gnu.org Received: via spool by 61871-submit@debbugs.gnu.org id=B61871.167760945032411 (code B ref 61871); Tue, 28 Feb 2023 18:38:02 +0000 Received: (at 61871) by debbugs.gnu.org; 28 Feb 2023 18:37:30 +0000 Received: from localhost ([127.0.0.1]:51991 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pX4qv-0008Qh-RQ for submit@debbugs.gnu.org; Tue, 28 Feb 2023 13:37:30 -0500 Received: from mail-wr1-f53.google.com ([209.85.221.53]:41592) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pX4qt-0008QP-3g for 61871@debbugs.gnu.org; Tue, 28 Feb 2023 13:37:27 -0500 Received: by mail-wr1-f53.google.com with SMTP id bt28so10787033wrb.8 for <61871@debbugs.gnu.org>; Tue, 28 Feb 2023 10:37:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=cwms4EOM1heWuRzcf21z4tVLtvaiOosaefvfQTC6+Ks=; b=CysRj+M35qGemzderPJGdi/ymqpg9/6+/4sTecd808R3/Fu5EVQBd/dMlLNnqh6Nvr NDEJwP8WHDUdI+opB+UJKY5Mz/M8f+sAi7mnW7OKR59zJhRniFYv5vwfZGRjkHKcKQ+Y 2d8Y+oq97bgZHHq4riUy8dqctJHJGGW4cV2wyHRLc4sqWA8UljkEiSSXuEkrKW1vwUNj 9GwJe5gXVZDWP7BvdNvwmt68tIyzlfgJ8l8IHV59jYdoQPFJmgB2VFJrhmGAbdIZiKMb 1kf2UMuSsQ1mV32HYI3wbVk7ILP6UeOw0Q//cX2Ki5Keh4D9rgkOSYNgr6hqQZedakLS 2yIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=cwms4EOM1heWuRzcf21z4tVLtvaiOosaefvfQTC6+Ks=; b=Pb3MdkRPm2l/x9cnXJZccuq71SK9jArShq1ihEg0VtV+mjHu4l/iYOZarpEUylII2Z kP4KDAO8UcnB9gsm1BH9fL7AYlXkZceXSurZdcNH6qfMrvgh3fMmfwV+mSZ7rsJeJUci ggEkn+E8W8T+eIqt08QnFer1k2IwwjT2D+d3r0qXxMDBg/Wh6SXFJ8Pr+5MZ6RBbYyz9 8Y49N96mI8p7SFwzThs6fCMmLUp2Pwdt1XxKth4O0rvNpK1goyaXobmyUSxbWXf75dpb 3c9MrRbKFcMkXR2633FUpT0Rq/iqejPQIzzci3+YTkfIYGt3/vNJMouwRis6hBNR2dVE 19Aw== X-Gm-Message-State: AO0yUKUM28dWld9Y2rGGwW/HJgK1KK8eTVelVNG3PpI6N8pR/q3Ifps2 IOZD+dHfVPM2j12HJsZ41h0= X-Google-Smtp-Source: AK7set++k3FsxIazBynt2t2Gwy6lpeTY/wUwF3tVwGMi9dbKLnV8oxevQC5nyK87YgWoJfrhyy6AgQ== X-Received: by 2002:a5d:64cf:0:b0:2c5:4d35:5260 with SMTP id f15-20020a5d64cf000000b002c54d355260mr3432096wri.16.1677609440889; Tue, 28 Feb 2023 10:37:20 -0800 (PST) Received: from [192.168.0.2] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id p2-20020adfe602000000b002c561805a4csm10717295wrm.45.2023.02.28.10.37.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 28 Feb 2023 10:37:20 -0800 (PST) Message-ID: <2eb42d48-87d5-2bc6-88c0-20dc1910dfe8@yandex.ru> Date: Tue, 28 Feb 2023 20:37:19 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Content-Language: en-US References: From: Dmitry Gutov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.9 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.9 (-) Hi! On 28/02/2023 18:17, Aaron Jensen wrote: > I found another edge case: > > foo, bar = baz.( > some_arg > ) > > Should indent to: > > foo, bar = 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 fine. 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 . "=") - (save-excursion - (and (smie-rule-parent-p " @ ") - (goto-char (nth 1 (smie-indent--parent))) - (smie-rule-prev-p "def=") - (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=") + (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 From unknown Mon Jun 23 02:25:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#61871: 29.0.60; ruby-mode indentation with destructuring assignment 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 X-GNU-PR-Keywords: To: Dmitry Gutov Cc: 61871@debbugs.gnu.org Received: via spool by 61871-submit@debbugs.gnu.org id=B61871.16776144529321 (code B ref 61871); Tue, 28 Feb 2023 20:01:02 +0000 Received: (at 61871) by debbugs.gnu.org; 28 Feb 2023 20:00:52 +0000 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 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 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) MIME-Version: 1.0 References: <2eb42d48-87d5-2bc6-88c0-20dc1910dfe8@yandex.ru> In-Reply-To: <2eb42d48-87d5-2bc6-88c0-20dc1910dfe8@yandex.ru> From: Aaron Jensen Date: Tue, 28 Feb 2023 15:00:33 -0500 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) 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 From unknown Mon Jun 23 02:25:19 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Aaron Jensen Subject: bug#61871: closed (Re: bug#61871: 29.0.60; ruby-mode indentation with destructuring assignment) Message-ID: References: X-Gnu-PR-Message: they-closed 61871 X-Gnu-PR-Package: emacs Reply-To: 61871@debbugs.gnu.org Date: Tue, 28 Feb 2023 21:03:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1677618182-15391-1" This is a multi-part message in MIME format... ------------=_1677618182-15391-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #61871: 29.0.60; ruby-mode indentation with destructuring assignment which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 61871@debbugs.gnu.org. --=20 61871: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D61871 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1677618182-15391-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 61871-done) by debbugs.gnu.org; 28 Feb 2023 21:02:07 +0000 Received: from localhost ([127.0.0.1]:52088 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pX76t-0003z4-46 for submit@debbugs.gnu.org; Tue, 28 Feb 2023 16:02:07 -0500 Received: from mail-wr1-f52.google.com ([209.85.221.52]:37402) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pX76r-0003yZ-MA for 61871-done@debbugs.gnu.org; Tue, 28 Feb 2023 16:02:06 -0500 Received: by mail-wr1-f52.google.com with SMTP id h14so11174651wru.4 for <61871-done@debbugs.gnu.org>; Tue, 28 Feb 2023 13:02:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677618120; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=cuK0NPRptu+w8lZgreL3p99WBqQyrJgIAUegDHE7fJg=; b=FKpagvCrtK4mUpXzKyZJFUoxyahsQkdiM3aaJD9yOCZX9kcXvdxrX4Po1RMNdZ/9Qj 8LlYR8d9oUw2APSlMylkhk6MlGKhPJQE+8ZH96rPJshNwfNjxFbU3ejn5nMz3SEwHae0 FCiclr8Lw+uK+hHTJ8N9cL6n09VWWmp/0xehD3heM12mdVOM5hFDXM+S0Dd59ydzhjbA AMGOcEmMlNsbZEyJjSO3/8WfNksTioOL+jFkzZuSUTeXtN9aBI/KOQZV9xzH3pkKa7Ij 0uAFZHjtQWmUrdP7V4JPIKDvbtQpxd4rQXSW81nizmSDjRd25oCB0AtBbvt3wZRHAciK nCTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677618120; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=cuK0NPRptu+w8lZgreL3p99WBqQyrJgIAUegDHE7fJg=; b=uWW4j0XLhs9BiIlHkh4UqQObXdzfNgW/mKrwsQWhFxikYiX7EWzVK8f0T/d+QdrvJm cYl4068uMF4Dumlxn6WN1EJKvl5aBGtrpA1Okgv4G1Kj3NXoJylfuFpuMN/rlOBAXz0U 7DGFhgVoZSvQs8dDWOBOpmA7TMXHNoNOjHZ4/3sHxlY3+LRdOCj8EkVOCQISG0G1N0Jl hIn2PVDeo0k1vDyvhVU6nmHT9gcAX8IDwHByr3x+PN8E0Eb+3yD82cuAAq66b5CTCE8T EPAUeJ5VaozIIsEzSu+eQLom7nn5v97qlAYkpxqYhMhPjc1swYefN8kpTo9mQPkTfZ/8 6A6Q== X-Gm-Message-State: AO0yUKUj3QisWvsU1H9gbafRrBWz0lmBfLta659IH56j7DWHLFWH23mm hhfZvwmBXbsyRLiRr9dlH4M= X-Google-Smtp-Source: AK7set+BKnQ+zxboQebJl0SwuwiqGsOsXS0gSjRsxQykQgYQyPUYQgBEt5VcLjNO+hO/l5jcwF8RoA== X-Received: by 2002:adf:f845:0:b0:2c5:530d:4045 with SMTP id d5-20020adff845000000b002c5530d4045mr3477698wrq.20.1677618119622; Tue, 28 Feb 2023 13:01:59 -0800 (PST) Received: from [192.168.0.2] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id az11-20020a05600c600b00b003e1202744f2sm16937382wmb.31.2023.02.28.13.01.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 28 Feb 2023 13:01:59 -0800 (PST) Message-ID: Date: Tue, 28 Feb 2023 23:01:57 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Subject: Re: bug#61871: 29.0.60; ruby-mode indentation with destructuring assignment Content-Language: en-US To: Aaron Jensen References: <2eb42d48-87d5-2bc6-88c0-20dc1910dfe8@yandex.ru> From: Dmitry Gutov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.9 (/) X-Debbugs-Envelope-To: 61871-done Cc: 61871-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.9 (-) Version: 29.1 On 28/02/2023 22:00, Aaron Jensen wrote: > On Tue, Feb 28, 2023 at 1:37 PM Dmitry Gutov wrote: >> Hi! >> >> On 28/02/2023 18:17, Aaron Jensen wrote: >>> I found another edge case: >>> >>> foo, bar = baz.( >>> some_arg >>> ) >>> >>> Should indent to: >>> >>> foo, bar = 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 fine. >> >> 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 . "=") >> - (save-excursion >> - (and (smie-rule-parent-p " @ ") >> - (goto-char (nth 1 (smie-indent--parent))) >> - (smie-rule-prev-p "def=") >> - (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=") >> + (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. Thanks for checking! Closing. ------------=_1677618182-15391-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 28 Feb 2023 16:17:41 +0000 Received: from localhost ([127.0.0.1]:51853 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pX2fc-0004gS-UX for submit@debbugs.gnu.org; Tue, 28 Feb 2023 11:17:41 -0500 Received: from lists.gnu.org ([209.51.188.17]:40166) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pX2fb-0004gD-2c for submit@debbugs.gnu.org; Tue, 28 Feb 2023 11:17:39 -0500 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 1pX2fW-0000yw-2g for bug-gnu-emacs@gnu.org; Tue, 28 Feb 2023 11:17:35 -0500 Received: from mail-ua1-x92a.google.com ([2607:f8b0:4864:20::92a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pX2fU-0002Ik-Hi for bug-gnu-emacs@gnu.org; Tue, 28 Feb 2023 11:17:33 -0500 Received: by mail-ua1-x92a.google.com with SMTP id d12so1577431uak.10 for ; Tue, 28 Feb 2023 08:17:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:message-id:date:subject:to:from:from:to:cc:subject :date:message-id:reply-to; bh=TvN1Vv5+FPzrKkXKnGbuNTa5Th8I0Ks7JuWtzW/ckko=; b=eGC5gv3Su/roL+C41ENliG0SUV2ldHbB1vTus8yhboPQXwyqsK+huTkKG2PPsvwvL8 tH5ZTfxgJhgInzzTP+xFmclB8F0nCX3ldcIV+qkuHHdy3rFrxB4tVjHHzCW+QtxwqDm6 5/1+2xZbWyKEPfskVwfx4f0nSvPRBuD1OM/KzWCWmiUWS+iPOzjlvHg7btJkFeLNUNF+ 1uYESHhNMztq7YGet7NaWCBC/TkQOQPGnDsgfeJ3o75nQLra/A447ZVukkitWgrWkLqB 6vZqcHJrbcEo9WYQlJoRT8YoRsr/RbuxueVkr0tQomjPdQUKeNGktFSvFntK8eTRTiSs kcTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:message-id:date:subject:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=TvN1Vv5+FPzrKkXKnGbuNTa5Th8I0Ks7JuWtzW/ckko=; b=6PDzbgjgUU2YMeuAOmDI/vYSbQyEQAYliZlUloh5UYqCWl0KJlutS4lnGeHAKKMPxC SaU1yp1hfRMiboC0hgThvm+IvHtu1FDBsX5gKv2x+Uy5O9WSMbS4w59rBp8p/tlySMF5 DnQLTMl8+Swi5ixEsvCDmkpoz5LSbi2CpEYncPrELSZaAxxMl0P6oGXwn6uAb7fBbKPg Dp5hejTG7ixEJCnwqxsDvLHhM2vqLiRK2V8fz6fkv3eoKj8YKkEI5EHL0vkD7k14NKnI 6s8y3gIjZc6Cu+nOGHGZz78PtI3FKf1uujMOiXXiu1XyQuZsZByFCb0s1NaSNPRacLAN 54qQ== X-Gm-Message-State: AO0yUKWrTGlgCZAsmaLC2Gi0cfiPTU1KOmjUgHPW5oOAGx4bTonSgKbG ivBazFtukJetK6J1TecGv4L8Eb5gL0I= X-Google-Smtp-Source: AK7set8HNlrUQulYl3EUIlVjV51LrPVdfa1l9KY3C7Sg3pR0Btm9UwiehrEQXTevCu5+Y9bDg54QQQ== X-Received: by 2002:a1f:ad86:0:b0:401:41ff:4052 with SMTP id w128-20020a1fad86000000b0040141ff4052mr1171052vke.16.1677601049957; Tue, 28 Feb 2023 08:17:29 -0800 (PST) Received: from Aarons-Laptop.local (c-73-23-241-101.hsd1.fl.comcast.net. [73.23.241.101]) by smtp.gmail.com with ESMTPSA id b127-20020a1fb285000000b00400ea42f476sm1363473vkf.36.2023.02.28.08.17.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Feb 2023 08:17:29 -0800 (PST) From: Aaron Jensen To: bug-gnu-emacs@gnu.org Subject: 29.0.60; ruby-mode indentation with destructuring assignment Date: Tue, 28 Feb 2023 11:17:27 -0500 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::92a; envelope-from=aaronjensen@gmail.com; helo=mail-ua1-x92a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) I found another edge case: foo, bar = baz.( some_arg ) Should indent to: foo, bar = baz.( some_arg ) ------------=_1677618182-15391-1--