anchor.diff:  -export([fread/2,fread/3]).
   
   -import(lists, [reverse/1,reverse/2]).
  +
  +-define(is_whitespace(C),
  +	((C) =:= $\s orelse (C) =:= $\t
  +	 orelse (C) =:= $\r orelse (C) =:= $\n)).
   
   %%-----------------------------------------------------------------------
   
  
positive.code:     fread(Format, Line, N, fread_result(Sup, N, Res));
  fread1(_Format, _F, _Sup, _U, [], N, Res, AllFormat) ->
      %% Need more input here.
      {more,[$~|AllFormat],N,Res};
  fread1(_Format, _F, _Sup, _U, eof, 0, [], _AllFormat) ->
      %% This is at start of input so no error.
      eof;
  
negative.code: %% fread_digits(Line, N, Base, Characters)
  %%  Read segments of things, return "thing" characters in reverse order.
  
  fread_skip_white([C|Line]) when ?is_whitespace(C) ->
      fread_skip_white(Line);
  fread_skip_white(Line) -> Line.
  
  fread_skip_white([C|Line], N) when ?is_whitespace(C) ->
      fread_skip_white(Line, N+1);
  fread_skip_white(Line, N) -> {Line,N}.
  
  fread_skip_latin1_nonwhite([C|Line], N, Cs) when ?is_whitespace(C) ->
      {[C|Line],N,Cs};
  fread_skip_latin1_nonwhite([C|Line], N, []) when C > 255 ->
      {[C|Line],N,error};
  fread_skip_latin1_nonwhite([C|Line], N, Cs) when C > 255 ->
  