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

Tomas Abrahamsson <>
Tue Aug 21 23:00:12 CEST 2012


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