anchor.diff:              %% In case that later optimization passes have been turned off.
               expr({atom,Line,false}, St);
           false ->
  -            Fs = record_fields(Name, St),
  +            Fs = record_fields(Name, Line, St),
               NLine = no_compiler_warning(Line),
               expr({call,NLine,{remote,NLine,{atom,NLine,erlang},{atom,NLine,is_record}},
                     [Term,{atom,Line,Name},{integer,Line,length(Fs)+1}]},
  
positive.code:     %% first and bind the value to a new variable.
      %% We must use also handle the case that Expr does not
      %% evaluate to a tuple properly.
      Fs = record_fields(Name, St0),
      {Var,St} = new_var(Line, St0),
      NLine = no_compiler_warning(Line),
      expr({block,Line,
  
negative.code: record_pattern(_, _, _, _, _, Acc) -> reverse(Acc).
  
  sloppy_get_record_field(Line, R, Index, Name, St) ->
      Fs = record_fields(Name, Line, St),
      I = index_expr(Line, Index, Name, Fs),
      expr({call,Line,
  	  {remote,Line,{atom,Line,erlang},{atom,Line,element}},
  