anchor.diff:  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
   gen_http_request(Link) ->
  -  URI = jsg_links:compute_uri(Link),
  +  PreURI = jsg_links:compute_uri(Link),
     RequestType = jsg_links:link_request_type(Link),
     {Body,QueryParms} = jsg_links:generate_argument(Link),
  -  {URI,RequestType,Body,QueryParms}.
  +  EncodedParms = encode_generated_parameters(QueryParms),
  +  case re:split(PreURI,"\\?") of
  +    [_] ->
  +      {PreURI,RequestType,Body,EncodedParms};
  +    [BinaryURI,BinaryParms] -> 
  +      {binary_to_list(BinaryURI),RequestType,Body,
  +       split_parms(BinaryParms)++EncodedParms}
  +  end.
  +
  +split_parms(BinaryParms) ->
  +  case re:split(BinaryParms,"&") of
  +    [_] ->
  +      [Key,Value] = re:split(BinaryParms,"="),
  +      [{binary_to_list(Key),binary_to_list(Value)}];
  +    Assignments ->
  +      lists:flatmap(fun split_parms/1, Assignments)
  +  end.
   
   follow_link(Link,_HTTPRequest={URI,RequestType,Body,QueryParms}) ->
     %%io:format
  
positive.code: has_body(_) ->
    true.
  
  encode_parameters(PreURI,X) ->
    case X of
      {struct,L} ->
        Parms =
  	lists:map
  	  (fun ({Key,Value}) -> {binary_to_list(Key), binary_to_list(Value)}
  	   end, L),
        ParmString =
  	encode_parameters(Parms),
        if
  	ParmString=="" ->
  	  PreURI;
  	true ->
  	  case string:string(PreURI,"?") of
  	    0 -> PreURI++"?"++ParmString;
  	    _N -> PreURI++"&"++ParmString
  	  end
        end
    end.
  
  encode_parameters([]) -> "";
  
negative.code:   %%io:format("URI: ~s cookies are ~p~n",[PreURI,httpc:which_cookies()]),
    URI =
      case QueryParms of
        [] -> PreURI;
        _ -> PreURI++"?"++encode_parameters(QueryParms)
      end,
    URIwithBody =
      case Body of
  