Subject: bug#16116: closed (Re: bug#16116: 24.3.50; smie-indent-close aligns inner closing paren with the outer opening paren)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 17 Dec 2013 03:04:02 +0000

Your bug report

#16116: 24.3.50; smie-indent-close aligns inner closing paren with the outer opening paren

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 [email-masked].

-- 
16116: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16116
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#16116: 24.3.50; smie-indent-close aligns inner closing paren with the outer opening paren
From: Dmitry Gutov <[email-masked]>
To: Stefan Monnier <[email-masked]>
Cc: [email-masked], Steve Purcell <[email-masked]>
Date: Tue, 17 Dec 2013 05:03:42 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

On 16.12.2013 16:23, Stefan Monnier wrote:
> I think it's OK.

Thanks for looking, applied.

> Preserving the old behavior would maybe be better, but ... let's try it
> as is.

I do believe the new behavior is a better default.

Octave, Prolog, etc, examples in test/indent seem unaffected, but there 
is one affected example in elpa/packages/sml-mode/testcases.sml (I'm 
also getting other mismatches there, but those are probably unrelated).

Subject: 24.3.50; smie-indent-close aligns inner closing paren with the outer opening paren
From: Dmitry Gutov <[email-masked]>
To: [email-masked]
Date: Thu, 12 Dec 2013 03:57:01 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Try this example with ruby-mode:

foo(
  a,
  b => [
    1, 3, 4
  ],
  c => [
    5, 6
  ])

Currently, it will indent the last line to the 0th column, which doesn't
look right to me.

The following patch fixes that.  Would it be all right to install it?

=== modified file 'lisp/emacs-lisp/smie.el'
--- lisp/emacs-lisp/smie.el	2013-11-04 20:45:36 +0000
+++ lisp/emacs-lisp/smie.el	2013-12-12 01:39:59 +0000
@@ -1423,8 +1423,7 @@
   (save-excursion
     ;; (forward-comment (point-max))
     (when (looking-at "\\s)")
-      (while (not (zerop (skip-syntax-forward ")")))
-        (skip-chars-forward " \t"))
+      (forward-char 1)
       (condition-case nil
           (progn
             (backward-sexp 1)

In GNU Emacs 24.3.50.8 (x86_64-unknown-linux-gnu, GTK+ Version 3.8.6)
 of 2013-12-09 on axl
Bzr revision: 115440 [email-masked]
Windowing system distributor `The X.Org Foundation', version 11.0.11403000
System Description:	Ubuntu 13.10