<div dir="ltr">Hi,<div><br></div><div>I found a few issues with erlang.el's indentation. I'm not good enough with Emacs Lisp to write a fix, but it would be great if someone could do so. :)</div><div><br></div><div>The following code was auto-indented with Emacs:</div><div><br></div><div><div><font face="monospace, monospace">%%% -*- mode: erlang; erlang-indent-level: 2 -*-</font></div><div><font face="monospace, monospace">-module(foo).</font></div><div><font face="monospace, monospace">-compile([export_all]).</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">-record(comma_first, { x</font></div><div><font face="monospace, monospace">                     , y :: integer() % good indentation</font></div><div><font face="monospace, monospace">                            , z       % bad indentation (caused by type spec)</font></div><div><font face="monospace, monospace">                     }).</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">try_blocks() -></font></div><div><font face="monospace, monospace">  try ok,</font></div><div><font face="monospace, monospace">       ok % bad indentation</font></div><div><font face="monospace, monospace">  after</font></div><div><font face="monospace, monospace">    ok</font></div><div><font face="monospace, monospace">  end,</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">  try ok of</font></div><div><font face="monospace, monospace">      X -> X % bad indentation: erlang-indent-level is 2!</font></div><div><font face="monospace, monospace">  after</font></div><div><font face="monospace, monospace">    ok</font></div><div><font face="monospace, monospace">  end,</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">  try ok of</font></div><div><font face="monospace, monospace">      Y -> % bad indentation</font></div><div><font face="monospace, monospace">      Y    % looks terrible</font></div><div><font face="monospace, monospace">  after</font></div><div><font face="monospace, monospace">    ok</font></div><div><font face="monospace, monospace">  end.</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">list_comprehensions() -></font></div><div><font face="monospace, monospace">  [ok</font></div><div><font face="monospace, monospace">   || X <- [ 1</font></div><div><font face="monospace, monospace">           , 2</font></div><div><font face="monospace, monospace">           , 3] % comma-first indentation works here</font></div><div><font face="monospace, monospace">        , X > 2 % but not here</font></div><div><font face="monospace, monospace">  ].</font></div></div><div><br></div><div>In case email would screw the indentation, here's the same in a gist: <a href="https://gist.github.com/dszoboszlay/bf60b674dadc49c7d999">https://gist.github.com/dszoboszlay/bf60b674dadc49c7d999</a></div><div><br></div><div>Cheers,</div><div>Daniel</div></div>