add:   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) {  }  
context:     copyEmail : function () {        // Copy the comma-separated list of email addresses only.        // There are other ways of embedding email addresses in a mailto:        // link, but such complex parsing is beyond us.        var url = this.linkURL();        var qmark = url.indexOf( "?" );        var addresses;                if ( qmark > 7 ) {                   // 7 == length of "mailto:"            addresses = url.substring( 7, qmark );        } else {            addresses = url.substr( 7 );        }        var clipboard = this.getService( "@mozilla.org/widget/clipboardhelper;1",                                         Components.interfaces.nsIClipboardHelper );        clipboard.copyString(addresses);    },    
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/181075af57811aef89952bd367efbfb2b82f7796/browser.js/clean/browser/base/content/browser.js