Forum: Ruby-core ruby-mode.el: indentation problem

Posted by Akinori MUSHA (Guest)
on 2012-12-26 13:59
(Received via mailing list)
Hi Dmitry,

Thanks for maintaining ruby-mode.el.

I found the other day that ruby-mode bundled with Emacs at least
24.2.91 and later fails to indent the following piece of code
correctly:

    var =
      begin
        val
      end
      statement  # should be dedented
      #...

Where Emacs 24.2.1 and prior never had this problem.

    var =
      begin
        val
      end
    statement
    #...

There have been a bunch of changes within this period, so I thought
I'd better ask you directly.  Do you have any clue to this?
Posted by Akinori MUSHA (Guest)
on 2012-12-27 11:29
(Received via mailing list)
At Wed, 26 Dec 2012 20:54:04 +0400,
Dmitry Gutov wrote:
> >        begin
> >        end
> >      statement
> >      #...
> >
> > There have been a bunch of changes within this period, so I thought
> > I'd better ask you directly.
>
> Thanks for the report, although filing a bug might have been a tad
> better, because I would've referred to it in the commit message.

OK.  Thanks for the quick fix!

> > Do you have any clue to this?
>
> Not off the top of my head, but git bisect showed the problem quickly.
> I've committed the fix to the branch emacs-24, revision 111078. It
> will get merged into trunk in the next routine merge.

I wasn't quite aware of the automated test suite that can be used for
bisecting.  Next time I find something suspicious I'll make full use
of it for sure.
Posted by Dmitry Gutov (Guest)
on 2012-12-27 11:39
(Received via mailing list)
On 26.12.2012 21:26, Akinori MUSHA wrote:
>>> Do you have any clue to this?
>>
>> Not off the top of my head, but git bisect showed the problem quickly.
>> I've committed the fix to the branch emacs-24, revision 111078. It
>> will get merged into trunk in the next routine merge.
>
> I wasn't quite aware of the automated test suite that can be used for
> bisecting.

Nothing particularly automated. I cloned the emacsmirror repo from
github (because Bazaar's bisect plugin is flaky), ran `git bisect start`
and proceeded as usual when bisecting.

We do have a test suite in test/automated/ruby-mode-tests.el, but it
lacked the example for this case, obviously.

> Next time I find something suspicious I'll make full use
> of it for sure.

I just answered the question literally. While submitting a patch would
be nice, you don't really have to, I introduced the bug, so it's only
natural that I would fix it.

--Dmitry
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.