anchor.diff:      Op = {delete, Name},
       PreOps = [Op | S#state.pre_ops],
       init_transform(Tail, S#state{pre_ops = PreOps});
  -init_transform([], S) ->
  -    S;
   init_transform([_ | T], S) ->
       init_transform(T, S);
  -init_transform(BadOpt, S) ->
  -    report_error("Illegal option (ignored): ~p~n", [BadOpt], S),
  +init_transform([], S) ->
       S.
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
positive.code: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% Computes the lists of pre_ops and post_ops that are 
  %% used in the real transformation.
  init_transform(S) ->
      case S#state.options of
  	Options when is_list(Options) ->
  	    init_transform(Options, S);
  	Option ->
  	    init_transform([Option], S)
      end.
  
  init_transform([{attribute, insert, Name, Val} | Tail], S) ->
      Op = {insert, Name, Val},
  
negative.code: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% Report functions.
  %%
  %% Warning messages are controlled with the 'report_warnings' compiler option
  %% Verbose messages are controlled with the 'verbose' compiler option
  
  report_warning(Format, Args, S) -> 
      case is_warning(S) of
  	true ->
  