rem: dump("#ERROR: treeitems.length(" + treeitems.length + ") != top.MAX_RECIPIENTS(" + top.MAX_RECIPIENTS + ")\n"); 
add: dump("#ERROR: listitems.length(" + listitems.length + ") < top.MAX_RECIPIENTS(" + top.MAX_RECIPIENTS + ")\n"); 
context: function awTestRowSequence(){  /*    This function is for debug and testing purpose only, normal user should not run it!    Everytime we insert or delete a row, we must be sure we didn't break the ID sequence of    the addressing widget rows. This function will run a quick test to see if the sequence still ok    You need to define the pref mail.debug.test_addresses_sequence to true in order to activate it  */  if (! test_addresses_sequence)    return true;  /* debug code to verify the sequence still good */  var body = document.getElementById('addressWidgetBody');  var treeitems = body.getElementsByTagName('treeitem');  if (treeitems.length == top.MAX_RECIPIENTS )  {    for (var i = 1; i <= treeitems.length; i ++)    {      var item = treeitems[i - 1];      var inputID = item.getElementsByTagName(awInputElementName())[0].getAttribute("id").split("#")[1];      var popupID = item.getElementsByTagName(awSelectElementName())[0].getAttribute("id").split("#")[1];      if (inputID != i || popupID != i)      {        dump("#ERROR: sequence broken at row " + i + ", inputID=" + inputID + ", popupID=" + popupID + "\n");        break;      }    }    dump("---SEQUENCE OK---\n");    return true;  }  else    dump("#ERROR: treeitems.length(" + treeitems.length + ") != top.MAX_RECIPIENTS(" + top.MAX_RECIPIENTS + ")\n");  return false;}
meta: 8395	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/8395/df9c087e48f30597a15a21f59644cde7e070008e/addressingWidgetOverlay.js/clean/mailnews/compose/resources/content/addressingWidgetOverlay.js