[erlang-patches] [erlang-bugs] erlang.el indenter

Tuncer Ayaz <>
Wed Aug 22 19:10:10 CEST 2012


On Wed, Aug 22, 2012 at 12:14 PM, Fredrik wrote:
> Hello Tomas,
> We have included this patch in the 'pu' branch.
> Thank you for the contribution!

A quick test revealed that erlang.el from 'pu' erroneously
re-indents the already correctly indented rebar:option_spec_list/0
and also rebar:commands/0. Can you reproduce the regression?

> On 08/21/2012 11:00 PM, Tomas Abrahamsson wrote:
>>
>> On Mon, Aug 6, 2012 at 7:42 PM, Tuncer Ayaz wrote:
>>>
>>> There seems to be a bug in the indenter that mis-indents
>>> rebar.erl:commands/0, if it's indented as part of a larger region.
>>> The multi-line binary string seems to be the problem.
>>>
>>> rebar.erl:commands/0:
>>> https://github.com/basho/rebar/blob/491d52298e2/src/rebar.erl#L275-311
>>>
>>> It works correctly when indenting the function itself with C-c C-q.
>>
>> Hi,
>>
>> Here is a patch for indenting of multi-line strings, like the
>> one previously reported by Tuncer Ayaz.
>>
>> git fetch git://github.com/tomas-abrahamsson/otp.git
>> emacs-indent-multi-line-string
>>
>>
>> https://github.com/tomas-abrahamsson/otp/compare/emacs-indent-multi-line-string
>>
>> https://github.com/tomas-abrahamsson/otp/compare/emacs-indent-multi-line-string.patch
>>
>> Here's an illustration of what the patch does,
>> excerpt from the commit msg:
>>
>>      Previously, typing C-M-\ or M-x indent-region RET on the following:
>>
>>          somefunction() ->
>>              S =<<"
>>          text1 somemore1
>>          text2 somemore2
>>          ">>,
>>              io:put_chars(S).
>>
>>      resulted in this (note the "text2" line):
>>
>>          somefunction() ->
>>              S =<<"
>>          text1 somemore1
>>                    text2 somemore2
>>          ">>,
>>              io:put_chars(S).
>>
>>      Now, the indentation inside the multi-line string is left unchanged.
>>      This is in line with how the Emacs C and Lisp mode treats multi-line
>>      strings when indenting regions.
>>
>>
>> BRs
>> Tomas


More information about the erlang-patches mailing list