anchor.diff:          To ->
               parse_path(To)
           end,
  -    [{FromParts, Method}, ToParts, QueryArgs].
  +    Formats = case couch_util:get_value(<<"formats">>, Rule) of
  +        undefined -> [];
  +        {Fmts} -> Fmts
  +    end,
  +    [{FromParts, Method}, ToParts, QueryArgs, Formats].
   
   parse_path(Path) ->
       {ok, SlashRE} = re:compile(<<"\\/">>),
  
positive.code: try_bind_path([], _Method, _PathParts, _QueryList) ->
      no_dispatch_path;
  try_bind_path([Dispatch|Rest], Method, PathParts, QueryList) ->
      [{PathParts1, Method1}, RedirectPath, QueryArgs] = Dispatch,
      case bind_method(Method1, Method) of
          true ->
              case bind_path(PathParts1, PathParts, []) of
  
negative.code:                     Bindings1 = Bindings ++ QueryList,
                      % we parse query args from the rule and fill
                      % it eventually with bindings vars
                      QueryArgs1 = make_query_list(QueryArgs, Bindings1,
                          Formats, []),
                      % remove params in QueryLists1 that are already in
                      % QueryArgs1
                      Bindings2 = lists:foldl(fun({K, V}, Acc) ->
  