Fix exception formatting on old Erlang

This commit is contained in:
Evgeny Khramtsov 2019-06-14 16:58:39 +03:00
parent 377748b688
commit 9e2e590061
2 changed files with 11 additions and 0 deletions

View File

@ -96,6 +96,7 @@
{if_var_true, elixir, {d, 'ELIXIR_ENABLED'}},
{if_var_true, new_sql_schema, {d, 'NEW_SQL_SCHEMA'}},
{if_var_true, hipe, native},
{if_have_fun, {erl_error, format_exception, 6}, {d, 'HAVE_ERL_ERROR'}},
{src_dirs, [src,
{if_var_true, tools, tools},
{if_var_true, elixir, include}]}]}.

View File

@ -482,6 +482,7 @@ peach(Fun, [_,_|_] = List) ->
peach(Fun, List) ->
lists:foreach(Fun, List).
-ifdef(HAVE_ERL_ERROR).
format_exception(Level, Class, Reason, Stacktrace) ->
erl_error:format_exception(
Level, Class, Reason, Stacktrace,
@ -489,6 +490,15 @@ format_exception(Level, Class, Reason, Stacktrace) ->
fun(Term, I) ->
io_lib:print(Term, I, 80, -1)
end).
-else.
format_exception(Level, Class, Reason, Stacktrace) ->
lib:format_exception(
Level, Class, Reason, Stacktrace,
fun(_M, _F, _A) -> false end,
fun(Term, I) ->
io_lib:print(Term, I, 80, -1)
end).
-endif.
-spec parse_ip_mask(binary()) -> {ok, {inet:ip4_address(), 0..32}} |
{ok, {inet:ip6_address(), 0..128}} |