rem: prevHdrFolder.folder[toggler](messages, key); 
add:    msg.Clear(); msg.AppendElement(msgHdr); msgHdr.folder.addKeywordToMessages(msg, "$label" + msgHdr.label); msgHdr.label = 0; } if (prevHdrFolder != msgHdr.folder) { if (prevHdrFolder) prevHdrFolder[toggler](messages, key); 
context: function ToggleMessageTag(key, addKey){  var msgHdr = gDBView.hdrForFirstSelectedMessage;  var messages = Components.classes["@mozilla.org/supports-array;1"]                           .createInstance(Components.interfaces.nsISupportsArray);  var selectedMsgUris = GetSelectedMessages();       var toggler = addKey ? "addKeywordToMessages" : "removeKeywordFromMessages";  var prevHdrFolder;  var msgHdr;   // this crudely handles cross-folder virtual folders with selected messages  // that spans folders, by coalescing consecutive msgs in the selection  // that happen to be in the same folder. nsMsgSearchDBView does this  // better, but nsIMsgDBView doesn't handle commands with arguments,  // and (un)tag takes a key argument.  for (var i = 0; i < selectedMsgUris.length; ++i)  {    msgHdr = messenger.msgHdrFromURI(selectedMsgUris[i]);    if (prevHdrFolder && prevHdrFolder != msgHdr.folder)    {      prevHdrFolder.folder[toggler](messages, key);      messages.Clear();    }    else    {        messages.AppendElement(msgHdr);    }    prevHdrFolder = msgHdr.folder;  }  msgHdr.folder[toggler](messages, key);  onTagsChange();}
meta: 8395	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/8395/6b6e8fc76969489aa0909d3b599afcb02b4d026b/mailWindowOverlay.js/buggy/mail/base/content/mailWindowOverlay.js