From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#61822: 29.0.60; Ruby indentation with assignment and method calls Date: Mon, 27 Feb 2023 01:57:00 +0200 Message-ID: <04f40592-80dd-ec66-a30a-c30e3fa5de81@yandex.ru> References: <1ec48204-0650-23f7-0d36-8ac7bdae2718@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28195"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Cc: 61822@debbugs.gnu.org To: Aaron Jensen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Feb 27 00:58:23 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 1pWQuN-0007CL-9n for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 27 Feb 2023 00:58:23 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pWQu4-0005hV-Df; Sun, 26 Feb 2023 18:58:04 -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 1pWQu2-0005h7-As for bug-gnu-emacs@gnu.org; Sun, 26 Feb 2023 18:58:02 -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 1pWQu1-0004BN-RQ for bug-gnu-emacs@gnu.org; Sun, 26 Feb 2023 18:58:01 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pWQu1-00055W-Hp for bug-gnu-emacs@gnu.org; Sun, 26 Feb 2023 18:58:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 26 Feb 2023 23:58:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 61822 X-GNU-PR-Package: emacs Original-Received: via spool by 61822-submit@debbugs.gnu.org id=B61822.167745583219493 (code B ref 61822); Sun, 26 Feb 2023 23:58:01 +0000 Original-Received: (at 61822) by debbugs.gnu.org; 26 Feb 2023 23:57:12 +0000 Original-Received: from localhost ([127.0.0.1]:45255 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pWQtE-00054L-3K for submit@debbugs.gnu.org; Sun, 26 Feb 2023 18:57:12 -0500 Original-Received: from mail-wr1-f47.google.com ([209.85.221.47]:40594) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pWQtB-000546-1P for 61822@debbugs.gnu.org; Sun, 26 Feb 2023 18:57:11 -0500 Original-Received: by mail-wr1-f47.google.com with SMTP id t15so4484613wrz.7 for <61822@debbugs.gnu.org>; Sun, 26 Feb 2023 15:57:08 -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:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=xsRwgqGNIrVwIy4eN77x0/Rn/1QwLfUd9YXgZcETUTU=; b=W7FhK+DI4CqPrh150WRB43/O6qK+vDLaRdUckTV6ScRm/Kd/DqC/efd5AaQF/rImmC Bv/nWeotXSH5AlQgaHzTgaqbkFKSkX1fl3JoXyWOK8pTdTMjuuC1udnPjUdc1puaPzAT tVpjF9eMv7KP2UeJU8GVsGOxm+qRbyhTU6LW1XgFmsmpeOO6WosWmSp9qYBcuhSnjxPu YbZwO/QJ2jbKWwxjYZf0nO/Ytjf/LK+VuxV7guwPQ+0OSy9R95PpBcNiy3vLSq/xwHiu XWoefCaF+VFjy5wwbqj8oGH6UBbSBogze6LeKMuy66XPEiz1yfXYxE7oWZ6z84TYQnI+ zb2A== 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: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=xsRwgqGNIrVwIy4eN77x0/Rn/1QwLfUd9YXgZcETUTU=; b=xweNAh9pZ0OgEBizF6l8KjJ8F1sVwtjW/oXlT4+O9f13lTSbr76GFDKXPQmv1/OYhI 4gxmC+2gXmQNmSdTOtND5sBsz7JOQVZ0GmQImPr3NV+JtjZZ4Y3o+XLZoZ/tHXdtJ86H CZIOPv9zUg8nhez7KFHsyeCvu/O8t8wHQHtZxXiHJ9Kuysq+VCcA+AMBMV+4ThBt/KZN rPhWNOWhma3PqHeINWvgZPXRyKordUwyMEEeLiIAfkoyupd6mfPW2vLJJq4BfXMASmMr 09Gy1Q02fNwYbEERjlfxWtvDzy/0AOOw0amXXkD58SBfC71DXZJA7qnkPKYPg+Di7Vj+ AUtA== X-Gm-Message-State: AO0yUKVJUxtl7mQJtX0FpwG5JlASceQNN2ZPAW3XPZON4n8Fs0V1rocm OJHTHIVXNOXnZjzATtU1AqY= X-Google-Smtp-Source: AK7set9gjm1/lSzwPHeEu/0+DDiLXrve/VXtnFmI2qn6BE69nu5w1DdUnrmwIZ0Tp5qJOc8zZvOO4Q== X-Received: by 2002:a5d:628f:0:b0:2ca:3d7a:8466 with SMTP id k15-20020a5d628f000000b002ca3d7a8466mr2598550wru.42.1677455822899; Sun, 26 Feb 2023 15:57:02 -0800 (PST) Original-Received: from [192.168.0.2] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id q8-20020a1cf308000000b003e11ad0750csm7353749wmq.47.2023.02.26.15.57.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 26 Feb 2023 15:57:02 -0800 (PST) Content-Language: en-US In-Reply-To: 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:256836 Archived-At: On 27/02/2023 00:57, Aaron Jensen wrote: >> diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el >> index dba9ff0a846..6778507bc2b 100644 >> --- a/lisp/progmodes/ruby-mode.el >> +++ b/lisp/progmodes/ruby-mode.el >> @@ -908,7 +908,8 @@ ruby-smie-rules >> "+=" "-=" "*=" "/=" "%=" "**=" "&=" "|=" "^=" "|" >> "<<=" ">>=" "&&=" "||=" "and" "or")) >> (cond >> - ((not ruby-after-operator-indent) >> + ((and (not ruby-after-operator-indent) >> + (smie-indent--hanging-p)) >> (ruby-smie--indent-to-stmt ruby-indent-level)) >> ((and (smie-rule-parent-p ";" nil) >> (smie-indent--hanging-p)) >> > This seems to work for me. I'm good with this being the same too as it > is with your patch: > > foo + bar( > asdasd > ) Hmm, that one seems to misindent this example: some_variable = abc + some_method( some_argument ) How about this patch? diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index dba9ff0a846..559b62fef54 100644 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el @@ -909,7 +909,9 @@ ruby-smie-rules "<<=" ">>=" "&&=" "||=" "and" "or")) (cond ((not ruby-after-operator-indent) - (ruby-smie--indent-to-stmt ruby-indent-level)) + (ruby-smie--indent-to-stmt (if (smie-indent--hanging-p) + ruby-indent-level + 0))) ((and (smie-rule-parent-p ";" nil) (smie-indent--hanging-p)) ruby-indent-level)))