anchor.diff:  input_file_peek_char(State = {Buf, IoDev}) ->
     case Buf of
       [] ->
  -      case file:read(IoDev, 1) of
  -        {ok, Line = [Ch | _]} ->
  +      case io:get_line(IoDev, []) of
  +        Line = [Ch | _] ->
             {{ok, Ch}, {Line, IoDev}};
           eof ->
             {{ok, -1}, {[], IoDev}}
  
positive.code: input_file_read_char({Buf, IoDev}) ->
    case Buf of
      [] ->
        case file:read(IoDev, 1) of
          {ok, [Ch | Rest]} ->
            {{ok, Ch}, {Rest, IoDev}};
          eof ->
           {{ok, -1}, {[], IoDev}}
  
negative.code: 
  do_open_input_file(Path) ->
    %% We MUST call file:open/2 from within the gen_server.
    %% Note: This only works for text files, e.g. source code.
    case file:open(Path, [read, {encoding, utf8}, read_ahead]) of
      {ok, IoDev} ->
        Funs =
          #input_port_funs
  