rem: gThreadPaneDeleteOrMoveOccurred = true; if (treeSelection.isSelected(treeSelection.currentIndex)) gNextMessageViewIndexAfterDelete = gDBView.msgToSelectAfterDelete; else if (treeSelection.currentIndex > gThreadPaneCurrentSelectedIndex)        gNextMessageViewIndexAfterDelete = treeSelection.currentIndex - 1; 
add:        if(gDBView.removeRowOnMoveOrDelete) { gThreadPaneDeleteOrMoveOccurred = true; gNextMessageViewIndexAfterDelete = treeSelection.currentIndex - NumberOfSelectedMessagesAboveCurrentIndex(treeSelection.currentIndex); } 
context: function SetNextMessageAfterDelete(){  var treeSelection = GetThreadTree().treeBoxObject.selection;  gThreadPaneDeleteOrMoveOccurred = true;  if (treeSelection.isSelected(treeSelection.currentIndex))    gNextMessageViewIndexAfterDelete = gDBView.msgToSelectAfterDelete;  else if (treeSelection.currentIndex > gThreadPaneCurrentSelectedIndex)    // Since the currentIndex (the row with the outline/dotted line) is greater    // than the currently selected row (the row that is highlighted), we need to    // make sure that upon a Delete or Move of the selected row, the highlight    // returns to the currentIndex'ed row.  It is necessary to subtract 1    // because the row being deleted is above the row with the currentIndex.    // If the subtraction is not done, then the highlight will end up on the    // row listed after the currentIndex'ed row.    gNextMessageViewIndexAfterDelete = treeSelection.currentIndex - 1;  else    gNextMessageViewIndexAfterDelete = treeSelection.currentIndex;}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/0eaa26ca9bc1869416af603ba435688e3c628d49/msgMail3PaneWindow.js/clean/mailnews/base/resources/content/msgMail3PaneWindow.js