aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2017-10-17 14:48:56 +0200
committerHans Bolinder <[email protected]>2017-10-17 14:48:56 +0200
commitfc4b103d27e447ffb439adbdf39e5fea87a27b31 (patch)
tree74ed429bf4c4abc5c7871c379669956616f3078a
parentaddb7f717be0d93eb1d8ed3942763af37fe50af9 (diff)
parent23817dd3f1bd70ede570b2aa065fe4ff26aedc04 (diff)
downloadotp-fc4b103d27e447ffb439adbdf39e5fea87a27b31.tar.gz
otp-fc4b103d27e447ffb439adbdf39e5fea87a27b31.tar.bz2
otp-fc4b103d27e447ffb439adbdf39e5fea87a27b31.zip
Merge branch 'hasse/stdlib/fix_ets_i_1/OTP-14663' into maint
* hasse/stdlib/fix_ets_i_1/OTP-14663: stdlib: Make ets:i/1 exit cleaner upon ^D (old Erlang shell)
-rw-r--r--lib/kernel/src/user.erl6
-rw-r--r--lib/stdlib/src/ets.erl2
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/kernel/src/user.erl b/lib/kernel/src/user.erl
index a5cc7b0ec1..872e63ab53 100644
--- a/lib/kernel/src/user.erl
+++ b/lib/kernel/src/user.erl
@@ -1,7 +1,7 @@
%%
%% %CopyrightBegin%
%%
-%% Copyright Ericsson AB 1996-2016. All Rights Reserved.
+%% Copyright Ericsson AB 1996-2017. All Rights Reserved.
%%
%% Licensed under the Apache License, Version 2.0 (the "License");
%% you may not use this file except in compliance with the License.
@@ -398,7 +398,7 @@ get_line(Prompt, Port, Q, Acc, Enc) ->
get_line_bytes(Prompt, Port, Q, Acc, Bytes, Enc);
{Port, eof} ->
put(eof, true),
- {ok, eof, []};
+ {ok, eof, queue:new()};
{io_request,From,ReplyAs,{get_geometry,_}=Req} when is_pid(From) ->
do_io_request(Req, From, ReplyAs, Port,
queue:new()),
@@ -615,7 +615,7 @@ get_chars(Prompt, M, F, Xa, Port, Q, State, Enc) ->
get_chars_bytes(State, M, F, Xa, Port, Q, Bytes, Enc);
{Port, eof} ->
put(eof, true),
- {ok, eof, []};
+ {ok, eof, queue:new()};
%%{io_request,From,ReplyAs,Request} when is_pid(From) ->
%% get_chars_req(Prompt, M, F, Xa, Port, queue:new(), State,
%% Request, From, ReplyAs);
diff --git a/lib/stdlib/src/ets.erl b/lib/stdlib/src/ets.erl
index b5d3cd3c8d..1db004c91e 100644
--- a/lib/stdlib/src/ets.erl
+++ b/lib/stdlib/src/ets.erl
@@ -1700,6 +1700,8 @@ choice(Height, Width, P, Mode, Tab, Key, Turn, Opos) ->
io:format("~ts\n", [ErrorString]),
choice(Height, Width, P, Mode, Tab, Key, Turn, Opos)
end;
+ eof ->
+ ok;
_ ->
choice(Height, Width, P, Mode, Tab, Key, Turn, Opos)
end.