anchor.diff:  
       [<<"start">>,Chunk,JsonResp] = couch_query_servers:ddoc_proc_prompt(QServer,
           [<<"lists">>, LName], [Head, JsonReq]),
  -    JsonResp2 = apply_etag(JsonResp, ETag),
  +    Acc2 = send_non_empty_chunk(fixup_headers(JsonResp, Acc), Chunk),
  +    {ok, Acc2}.
  +
  +fixup_headers(Headers, #lacc{etag=ETag} = Acc) ->
  +    Headers2 = apply_etag(Headers, ETag),
       #extern_resp_args{
           code = Code,
           ctype = CType,
           headers = ExtHeaders
  -    } = couch_httpd_external:parse_external_response(JsonResp2),
  -    JsonHeaders = couch_httpd_external:default_or_content_type(CType, ExtHeaders),
  -    {ok, Resp} = couch_httpd:start_chunked_response(Req, Code, JsonHeaders),
  -    send_non_empty_chunk(Resp, Chunk),
  -    {ok, Acc#lacc{resp=Resp}}.
  +    } = couch_httpd_external:parse_external_response(Headers2),
  +    Headers3 = couch_httpd_external:default_or_content_type(CType, ExtHeaders),
  +    Acc#lacc{code=Code, headers=Headers3}.
   
   send_list_row(Row, #lacc{qserver = {Proc, _}, resp = Resp} = Acc) ->
       RowObj = case couch_util:get_value(id, Row) of
  
positive.code:     resp,
      qserver,
      lname,
      etag
  }).
  
  % /db/_design/foo/_show/bar/docid
  
negative.code:         UpdateSeq -> [{update_seq, UpdateSeq}]
      end,
      start_list_resp({MetaProps}, Acc);
  list_cb({row, Row}, #lacc{code=undefined} = Acc) ->
      {ok, NewAcc} = start_list_resp({[]}, Acc),
      send_list_row(Row, NewAcc);
  list_cb({row, Row}, Acc) ->
  