<div dir="ltr"><div>%% There is a strange bug in the interaction of the shell with</div><div>%% terminal io.</div><div><br></div><div>%% If I run </div><div><br></div><div>%%  1> bug:test1().</div><div>%%  <0.46.0></div>
<div><br></div><div>%% Then the prompt is not written out</div><div><br></div><div>%% If I add a timeout after the function it works</div><div>%% But only if I type a value in before ten seconds</div><div><br></div><div>%% 2> bug:test2().</div>
<div>%% enter a term >abc.</div><div>%% N={ok,abc}     </div><div>%% true      </div><div><br></div><div>%% But AFTER Typing a line the prompt is repeated and the prompt</div><div>%% vanishes after ten seconds</div><div>
<br></div><div>%% If I wait 10 seconds and don't type anything</div><div>%% the ' enter a term' prompt is written</div><div>%% and then *removed* after 10 seconds</div><div><br></div><div>%% If the command started in the shell terminates immediately</div>
<div><br></div><div>-module(bug).</div><div>-export([test1/0, test2/0]).</div><div><br></div><div>test1() -></div><div>    spawn(fun() -></div><div><span class="" style="white-space:pre">           </span>  N = io:read(' enter a term >'),</div>
<div><span class="" style="white-space:pre">            </span>  io:format("N=~p~n",[N])</div><div><span class="" style="white-space:pre">        </span>  end).</div><div><br></div><div>test2() -></div><div>    spawn(fun() -></div>
<div><span class="" style="white-space:pre">            </span>  N = io:read(' enter a term >'),</div><div><span class="" style="white-space:pre">               </span>  io:format("N=~p~n",[N])</div><div><span class="" style="white-space:pre">        </span>  end),</div>
<div>    receive</div><div><span class="" style="white-space:pre">  </span>after 10000 -></div><div><span class="" style="white-space:pre">          </span>true</div><div><span class="" style="white-space:pre">       </span>end.</div>
<div><br></div><div>/Joe</div></div>