anchor.diff:  apply_rewrite([C | Rest], List) ->
       [C | apply_rewrite(Rest, List)].
   
  -regexp_rewrite(Input, []) ->
  -    nomatch;
  -
  -regexp_rewrite(Input, [{Regexp, Rewrite} | Rest]) ->
  -    case group_regexp:groups(Input, Regexp) of
  -	{match, List} ->
  -	    apply_rewrite(Rewrite, List);
  -	nomatch ->
  -	    regexp_rewrite(Input, Rest);
  -	{error, Error} ->
  -	    logger:log(normal, "Error in regexp ~p: ~p", [Regexp, Error]),
  -	    []
  -    end.
  +digit(Digit) when is_integer(Digit), Digit >= $0, Digit =< $9 ->
  +    Digit - $0;
  +digit(Digit) ->
  +    error.
   
   casecompare(none, none) ->
       true;
  
positive.code: concat([A | B], Separator) ->
      A ++ Separator ++ concat(B, Separator).
  
  safe_is_process_alive(Pid) when pid(Pid) ->
      {is_process_alive(Pid), Pid};
  safe_is_process_alive(Name) when atom(Name) ->
      case erlang:whereis(Name) of
  	Pid when pid(Pid) ->
  	    case is_process_alive(Pid) of
  		true ->
  		    {true, Pid};
  
negative.code: 	{true, Pid} ->
  	    Pid ! Message,
  	    ok;
  	{false, Pid} when is_list(LogTag) ->
  	    logger:log(error, LogTag ++ "Can't send signal ~p to pid ~p - not alive or not pid", [Message, Pid]),
  	    error;
  	{false, Pid} ->
  