rem: addresses = textToSubURI.unEscapeNonAsciiURI(characterSet, addresses); 
add: addresses = textToSubURI.unEscapeURIForUI(characterSet, addresses); 
context: function getEmail (url) {  var qmark = url.indexOf( "?" );  var addresses;  if ( qmark > mailtolength )       addresses = url.substring( mailtolength, qmark );  else      addresses = url.substr( mailtolength );  // Let's try to unescape it using a character set  // in case the address is not ASCII.  try {    var characterSet = Components.lookupMethod(this.target.ownerDocument, "characterSet")                                 .call(this.target.ownerDocument);    const textToSubURI = Components.classes["@mozilla.org/intl/texttosuburi;1"]                                 .getService(Components.interfaces.nsITextToSubURI);    addresses = textToSubURI.unEscapeNonAsciiURI(characterSet, addresses);  }  catch(ex) {    // Do nothing.  }  return addresses;}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/9421/480409394ec6c74d062a647df23d982300f65052/mailContextMenus.js/clean/mail/base/content/mailContextMenus.js