Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:25
erlang
2052-erts-Change-erlang-display_string-to-outpu...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 2052-erts-Change-erlang-display_string-to-output-to-stdou.patch of Package erlang
From 646d79cd9df2757bffb0f9b0d2c702adf302ca0e Mon Sep 17 00:00:00 2001 From: Lukas Larsson <lukas@erlang.org> Date: Tue, 3 May 2022 15:29:39 +0200 Subject: [PATCH 2/4] erts: Change erlang:display_string to output to stdout Historically, display_string has been used to output to stderr when the standard_error io device is not yet available. However all usage of it for that purpose has been removed/rewritten and now it is used to write a string together with erlang:display. So we change it to write to stdout (as erlang:display does). --- erts/emulator/beam/bif.tab | 1 - erts/preloaded/src/init.erl | 2 +- lib/kernel/src/logger_simple_h.erl | 20 ++++++++++---------- lib/kernel/src/net_kernel.erl | 2 +- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/erts/emulator/beam/bif.tab b/erts/emulator/beam/bif.tab index cfeab13bd2..d0e97f126e 100644 --- a/erts/emulator/beam/bif.tab +++ b/erts/emulator/beam/bif.tab @@ -56,7 +56,6 @@ bif erlang:crc32_combine/3 bif erlang:date/0 bif erlang:delete_module/1 bif erlang:display/1 -bif erlang:display_string/1 bif erlang:display_string/2 ubif erlang:element/2 bif erlang:erase/0 diff --git a/erts/preloaded/src/init.erl b/erts/preloaded/src/init.erl index a95df3741e..29a6766455 100644 --- a/erts/preloaded/src/init.erl +++ b/erts/preloaded/src/init.erl @@ -558,7 +558,7 @@ do_handle_msg(Msg,State) -> true -> logger:info("init got unexpected: ~p", [X], #{ error_logger=>#{tag=>info_msg}}); false -> - erlang:display_string("init got unexpected: "), + erlang:display_string(stdout, "init got unexpected: "), erlang:display(X) end end diff --git a/lib/kernel/src/logger_simple_h.erl b/lib/kernel/src/logger_simple_h.erl index fe8db09e83..db0dce97a7 100644 --- a/lib/kernel/src/logger_simple_h.erl +++ b/lib/kernel/src/logger_simple_h.erl @@ -145,7 +145,7 @@ do_log(Log) -> #{ legacy_header => true, single_line => false ,depth => unlimited, time_offset => "" }), - erlang:display_string(lists:flatten(unicode:characters_to_list(Str))) + erlang:display_string(stdout, lists:flatten(unicode:characters_to_list(Str))) catch _E:_R:_ST -> % erlang:display({_E,_R,_ST}), display_log(Log) @@ -164,7 +164,7 @@ display_date(Timestamp) when is_integer(Timestamp) -> Sec = Timestamp div 1000000, {{Y,Mo,D},{H,Mi,S}} = erlang:universaltime_to_localtime( erlang:posixtime_to_universaltime(Sec)), - erlang:display_string( + erlang:display_string(stdout, integer_to_list(Y) ++ "-" ++ pad(Mo,2) ++ "-" ++ pad(D,2) ++ " " ++ @@ -182,7 +182,8 @@ pad(Str,Size) -> display({string,Chardata}) -> try unicode:characters_to_list(Chardata) of - String -> erlang:display_string(String), erlang:display_string("\n") + String -> erlang:display_string(stdout, String), + erlang:display_string(stdout, "\n") catch _:_ -> erlang:display(Chardata) end; display({report,Report}) when is_map(Report) -> @@ -190,9 +191,9 @@ display({report,Report}) when is_map(Report) -> display({report,Report}) -> display_report(Report); display({F, A}) when is_list(F), is_list(A) -> - erlang:display_string(F ++ "\n"), + erlang:display_string(stdout, F ++ "\n"), [begin - erlang:display_string("\t"), + erlang:display_string(stdout, "\t"), erlang:display(Arg) end || Arg <- A], ok. @@ -203,7 +204,7 @@ display_report(Atom, A) when is_atom(Atom) -> AtomString = atom_to_list(Atom), AtomLength = length(AtomString), Padding = lists:duplicate(ColumnWidth - AtomLength, $\s), - erlang:display_string(AtomString ++ Padding), + erlang:display_string(stdout, AtomString ++ Padding), display_report(A); display_report(F, A) -> erlang:display({F, A}). @@ -216,13 +217,12 @@ display_report([A, []]) -> display_report(A = [_|_]) -> case lists:all(fun({Key,_Value}) -> is_atom(Key); (_) -> false end, A) of true -> - erlang:display_string("\n"), + erlang:display_string(stdout, "\n"), lists:foreach( fun({Key, Value}) -> erlang:display_string( - " " ++ - atom_to_list(Key) ++ - ": "), + stdout, + " " ++ atom_to_list(Key) ++ ": "), erlang:display(Value) end, A); false -> diff --git a/lib/kernel/src/net_kernel.erl b/lib/kernel/src/net_kernel.erl index 0ecad9e393..7717438df3 100644 --- a/lib/kernel/src/net_kernel.erl +++ b/lib/kernel/src/net_kernel.erl @@ -2125,7 +2125,7 @@ register_error(false, Proto, Reason) -> proto_error(false, Proto, lists:flatten(S)); register_error(true, Proto, Reason) -> S = "Protocol '" ++ Proto ++ "': register/listen error: ", - erlang:display_string(S), + erlang:display_string(stdout, S), erlang:display(Reason). proto_error(CleanHalt, Proto, String) -> -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor