anchor.diff:  %% This code is so that we get the \r in the line
   %% when we're parsing msdos files.
   
  -get_line_init(Fd) ->
  -    case file:read(Fd, 1024) of
  -	{ok, Chars} ->
  -	    put(file_data, Chars),
  -	    get_line(Fd);
  -	eof ->
  -	    eof
  -    end.
  -
   file_open(Fname) ->
  -    file:open(Fname, [read, raw]).
  +    case file:read_file(Fname) of
  +	{ok, Bin} ->
  +	    put(yfile_data, binary_to_list(Bin)),
  +	    {ok, xxx};
  +	Err ->
  +	    Err
  +    end.
  +
  +
   get_line(Fd) ->
  -    case get (file_data) of
  -	undefined ->
  -	    get_line_init(Fd);
  +    L = get_line0(Fd),
  +    io:format("LINE ~s~n", [L]),
  +    L.
  +
  +get_line0(Fd) ->
  +    case get (yfile_data) of
   	[] ->
  -	    get_line_init(Fd);
  +	    eof;
   	Chars ->
   	    case get_line_from_chars(Chars, []) of
   		{ok, Line, Tail} ->
  -		    put (file_data, Tail),
  +		    put (yfile_data, Tail),
   		    Line;
   		need_more ->
  -		    case file:read(Fd, 1024) of
  -			eof ->
  -			    erase(file_data),
  -			    Chars;
  -			{ok, Chars2} ->
  -			    put(file_data, Chars ++ Chars2),
  -			    get_line(Fd)
  -		    end
  +		    put(yfile_data, []),
  +		    Chars
   	    end
       end.
   
  
positive.code: 
  
  compile_file(File, GC, SC) ->
      case file:open(File, [read, raw]) of
  	{ok, Fd} ->
  	    Spec = compile_file(#comp{infile = File, 
  				      infd = Fd, gc = GC, sc = SC}, 
  
negative.code: 
  
  
  gg() ->
      {ok, Fd} = file_open("arg.yaws"),
      gg(Fd).
  
  gg(Fd) ->
      case get_line(Fd) of
  	eof ->
  	    eof;
  	X ->
  	    io:format("~s", [X]),
  	    gg(Fd)
      end.
  