anchor.diff:  	       Iport, Oport),
   
       %% Enter the server loop.
  -    server_loop(Iport, Oport, Curr, User, Gr, queue:new()).
  +    server_loop(Iport, Oport, Curr, User, Gr, {false, queue:new()}).
   
   rem_sh_opts(Node) ->
       [{expand_fun,fun(B)-> rpc:call(Node,edlin_expand,expand,[B]) end}].
  
positive.code: handle_req({Curr,set_unicode_state, Bool},Iport,_Oport,IOQueue) ->
      Curr ! {self(),set_unicode_state,set_unicode_state(Iport,Bool)},
      IOQueue;
  handle_req(next,Iport,Oport,IOQueue) ->
      case queue:out(IOQueue) of
          {{value,Next},ExecQ} ->
              NewQ = handle_req(Next,Iport,Oport,queue:new()),
              queue:join(NewQ,ExecQ);
          {empty,_} ->
              IOQueue
      end;
  handle_req(Msg,Iport,Oport,IOQueue) ->
      case queue:peek(IOQueue) of
          empty ->
              {Origin,Req} = Msg,
              case io_request(Req, Iport, Oport) of
                  ok -> IOQueue;
                  Reply ->
                      %% Push reply info to front of queue
                      queue:in_r({Origin,Reply},IOQueue)
              end;
          _Else ->
              %% All requests are queued when we have outstanding sync put_chars
              queue:in(Msg,IOQueue)
      end.
  
  %% port_bytes(Bytes, InPort, OutPort, CurrentProcess, UserProcess, Group)
  %%  Check the Bytes from the port to see if it contains a ^G. If so,
  
negative.code:         {Oport,ok} ->
              %% We get this ok from the port, in io_request we store
              %% info about where to send reply at head of queue
              {Origin,Reply} = Resp,
              Origin ! {reply,Reply},
              NewQ = handle_req(next, Iport, Oport, {false, IOQ}),
              server_loop(Iport, Oport, Curr, User, Gr, NewQ);
  	{'EXIT',Iport,_R} ->
  	    server_loop(Iport, Oport, Curr, User, Gr, IOQueue);
  