<div dir="ltr">Version:<br><div class="gmail_quote"><div dir="ltr"><div>------------</div><div>Erlang R16B01 [source-01eb200],</div><div><br></div><div>Steps to reproduce:</div><div>-----------------------------</div><div>


After cloning this repository...</div><div><br></div><div>    git clone git://<a href="http://github.com/abhay/eunit.git" target="_blank">github.com/abhay/eunit.git</a><br></div><div><br></div><div>and running...</div>
<div><br></div><div>    make</div><div><br></div><div>I get a crash from the lint_module:</div><div><br></div><div><div>erlc -pa ../ebin -W -I../include +warn_unused_vars +nowarn_shadow_vars +warn_unused_import -o../ebin eunit.erl</div>


<div>eunit.erl:none: internal error in lint_module;</div><div>crash reason: {function_clause,</div><div>               [{erl_lint,expr,</div><div>                 [{record_field,</div><div>                   [{line,{"eunit.erl",0}}],</div>


<div>                   {atom,[{line,{"eunit.erl",0}}],''},</div><div>                   {atom,[{line,{"eunit.erl",0}}],eunit}},</div><div>                  [],...</div><div><br></div><div>
Analysis:</div><div>-------------</div><div>It is related to the deletion of a clause in erl_lint that was handling packages:</div><div><br></div><div>Commit: 1c1649481025236cad29a7ee3cbd8f552757b2b6<br>
</div><div><div>Author: Björn Gustavsson <<a href="mailto:bjorn@erlang.org" target="_blank">bjorn@erlang.org</a>></div><div>Date:   Mon Dec 3 14:45:10 2012 +0100</div><div><br></div><div>    erl_lint: Remove support for packages</div>


<div><br></div><div><div>@@ -2086,13 +2030,6 @@ expr({record,Line,Name,Inits}, Vt, St) -></div><div>                  fun (Dfs, St1) -></div><div>                          init_fields(Inits, Line, Name, Dfs, Vt, St1)</div>


<div>                  end);</div><div>-expr({record_field,Line,_,_}=M, _Vt, St0) -></div><div>-    case expand_package(M, St0) of</div><div>-        {error, St1} -></div><div>-            {[],add_error(Line, illegal_expr, St1)};</div>


<div>-        {_, St1} -></div><div>-            {[], St1}</div><div>-    end;</div><div> expr({record_field,Line,Rec,Name,Field}, Vt, St0) -></div><div>     {Rvt,St1} = record_expr(Line, Rec, Vt, St0),</div><div>     {Fvt,St2} = check_record(Line, Name, St1,</div>


</div><div><br></div></div><div>The input module is of course legacy code and should be updated, but I think a better error message would be nice.</div><div><br></div><div>Cheers,</div><div><br></div>
<div>Stavros</div></div></div></div></div>