anchor.diff:  		#endif
   */
   	else if (isfile(value))
  -		html += "[name] = <span class='value'>'[value]'</span>"
  +		html += "[html_encode(name)] = <span class='value'>'[value]'</span>"
   
   	else if (istype(value, /datum))
   		var/datum/D = value
  -		html += "<a href='?_src_=vars;Vars=\ref[value]'>[name] \ref[value]</a> = [D.type]"
  +		html += "<a href='?_src_=vars;Vars=\ref[value]'>[html_encode(name)] \ref[value]</a> = [D.type]"
   
   	else if (istype(value, /client))
   		var/client/C = value
  -		html += "<a href='?_src_=vars;Vars=\ref[value]'>[name] \ref[value]</a> = [C] [C.type]"
  +		html += "<a href='?_src_=vars;Vars=\ref[value]'>[html_encode(name)] \ref[value]</a> = [C] [C.type]"
   //
   	else if (istype(value, /list))
   		var/list/L = value
  -		html += "[name] = /list ([L.len])"
  +		html += "[html_encode(name)] = /list ([L.len])"
   
   		if (L.len > 0 && !(name == "underlays" || name == "overlays" || name == "vars" || L.len > 500))
   			// not sure if this is completely right...
  
positive.code: 		var/rnd = rand(1,10000)
  		var/rname = "tmp\ref[I][rnd].png"
  		usr << browse_rsc(I, rname)
  		html += "[name] = (<span class='value'>[value]</span>) <img class=icon src=\"[rname]\">"
  		#else
  		html += "[name] = /icon (<span class='value'>[value]</span>)"
  		#endif
  
  /*		else if (istype(value, /image))
  
negative.code: 		html += "<li>"
  
  	if (isnull(value))
  		html += "[html_encode(name)] = <span class='value'>null</span>"
  
  	else if (istext(value))
  		html += "[html_encode(name)] = <span class='value'>\"[html_encode(value)]\"</span>"
  
  	else if (isicon(value))
  		#ifdef VARSICON
  