anchor.diff:  
   
   validate_attachment_names(Doc) ->
  -    lists:foreach(fun(#att{name=Name}) ->
  +    lists:foreach(fun(Att) ->
  +        Name = couch_att:fetch(name, Att),
           validate_attachment_name(Name)
       end, Doc#doc.atts).
   
  
positive.code:         end,
          AttFun = case ReqAcceptsAttEnc of
          false ->
              fun couch_doc:att_foldl_decode/3;
          true ->
              fun couch_doc:att_foldl/3
          end,
          chttpd:etag_respond(
              Req,
  
negative.code:                             Headers1 = [{<<"Content-Range">>, make_content_range(From, To, Len)}]
                                  ++ Headers,
                              {ok, Resp} = start_response_length(Req, 206, Headers1, To - From + 1),
                              couch_att:range_foldl(Att, From, To + 1,
                                  fun(Seg, _) -> send(Resp, Seg) end, {ok, Resp});
                          {identity, Ranges} when is_list(Ranges) andalso length(Ranges) < 10 ->
                              send_ranges_multipart(Req, Type, Len, Att, Ranges);
                          _ ->
                              Headers1 = Headers ++
                                  if Enc =:= identity orelse ReqAcceptsAttEnc =:= true ->
                                      [{"Content-MD5", base64:encode(couch_att:fetch(md5, Att))}];
                                  true ->
                                      []
                              end,
  