anchor.diff: -%% Copyright (c) 2008-2013 Robert Virding
  +%% Copyright (c) 2008-2015 Robert Virding
   %%
   %% Licensed under the Apache License, Version 2.0 (the "License");
   %% you may not use this file except in compliance with the License.
  
positive.code: 
  write_term1(T, Opts) ->
      Ops = #ops{ignore_ops=lists:member(ignore_ops, Opts),
                 quoted=lists:member(quoted, Opts)},
      write_term1(T, 1200, Ops).
  
  
negative.code: write_term1(T, Prec, Ops) when is_atom(T) -> write_atom1(T, Prec, Ops);
  write_term1(T, _, _) when is_number(T) -> io_lib:write(T);
  write_term1({V}, _, _) when is_integer(V) -> "_" ++ integer_to_list(V);
  write_term1({V}, _, _) -> atom_to_list(V);      %Variable
  write_term1([H|T], Prec, #ops{ignore_ops=true}=Ops) ->
      write_term1({'.',H,T}, Prec, Ops);
  write_term1([H|T], _, Ops) ->
      [$[,write_term1(H, 999, Ops),write_tail1(T, Ops),$]];
  write_term1([], _, _) -> "[]";
  write_term1({'{}',A}, _, #ops{ignore_ops=false}=Ops) ->
      [${,write_term1(A, 1200, Ops),$}];
  write_term1({'$VAR',N}, _, #ops{numbervars=true}=Ops)
    when is_integer(N), N >= 0 ->
      %% Write as a variable name.
      U = $A + (N rem 26),                        %First uppercase
      if N < 26 -> [U];
         true -> [U|integer_to_list(N div 26)]
      end;
  write_term1({F,A}, Prec, #ops{ignore_ops=false}=Ops) ->
      case erlog_parse:prefix_op(F) of
          {yes,OpP,ArgP} ->
  