rem:   if (lowerCaseHeaderName == "x-mailer" || lowerCaseHeaderName == "x-mimeole") 
add:   if (lowerCaseHeaderName == "x-mailer" || lowerCaseHeaderName == "x-newsreader" || lowerCaseHeaderName == "x-mimeole") 
context:     processHeaders: function(headerNameEnumerator, headerValueEnumerator, dontCollectAddress)    {      this.onStartHeaders();       while (headerNameEnumerator.hasMore())       {        var header = new Object;                header.headerValue = headerValueEnumerator.getNext();        header.headerName = headerNameEnumerator.getNext();        // for consistancy sake, let's force all header names to be lower case so        // we don't have to worry about looking for: Cc and CC, etc.        var lowerCaseHeaderName = header.headerName.toLowerCase();        // if we have an x-mailer or x-mimeole string, put it in the user-agent slot which we know how to handle        // already.         if (lowerCaseHeaderName == "x-mailer" || lowerCaseHeaderName == "x-mimeole")          lowerCaseHeaderName = "user-agent";                          // according to RFC 2822, certain headers        // can occur "unlimited" times        if (lowerCaseHeaderName in currentHeaderData)        {          // sometimes, you can have multiple To or Cc lines....          // in this case, we want to append these headers into one.          if (lowerCaseHeaderName == 'to' || lowerCaseHeaderName == 'cc')            currentHeaderData[lowerCaseHeaderName].headerValue = currentHeaderData[lowerCaseHeaderName].headerValue + ',' + header.headerValue;          else           {              // use the index to create a unique header name like:            // received5, received6, etc            currentHeaderData[lowerCaseHeaderName + index++] = header;          }        }        else         currentHeaderData[lowerCaseHeaderName] = header;        if (lowerCaseHeaderName == "from")        {          if (header.value && abAddressCollector)           {            if ((gCollectIncoming && !dontCollectAddress) ||                 (gCollectNewsgroup && dontCollectAddress))            {              gCollectAddress = header.headerValue;              // collect, and add card if doesn't exist, unknown preferred send format              gCollectAddressTimer = setTimeout('abAddressCollector.collectUnicodeAddress(gCollectAddress, true, Components.interfaces.nsIAbPreferMailFormat.unknown);', 2000);            }            else if (gCollectOutgoing)             {              // collect, but only update existing cards, unknown preferred send format              gCollectAddress = header.headerValue;              gCollectAddressTimer = setTimeout('abAddressCollector.collectUnicodeAddress(gCollectAddress, false, Components.interfaces.nsIAbPreferMailFormat.unknown);', 2000);            }          }        } // if lowerCaseHeaderName == "from"      } // while we have more headers to parse      this.onEndHeaders();    },
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/af9ed8959177d5fadb77235d24b6453b9b4374d4/msgHdrViewOverlay.js/clean/mailnews/base/resources/content/msgHdrViewOverlay.js