rem: goUpdateCommandState(commandID); 
add: var controller = top.document.commandDispatcher.getControllerForCommand(commandID); if (controller) { /* gMenuControllers contains a single entry buffer to allow for --j */ for (var j = gMenuControllers.length; --j && gMenuControllers[j].key != controller; );  if (!j) { /* obj stores the controller for the command and whether the QI succeeded */ var obj = {key:controller, isCommandController:false}; try { /* QI modifies the object including the one wrapped in obj.key */ controller.QueryInterface(Components.interfaces.nsICommandController); obj.isCommandController = true; } catch(e) {} j = gMenuControllers.length; gMenuControllers[j] = obj; } if (gMenuControllers[j].isCommandController) goUpdateCommandState(controller, commandID); } 
context: function goUpdateComposerMenuItems(commandset){  // dump("Updating commands for " + commandset.id + "\n");    for (var i = 0; i < commandset.childNodes.length; i++)  {    var commandID = commandset.childNodes[i].id;    if (commandID)    {      goUpdateCommand(commandID);  // enable or disable      goUpdateCommandState(commandID);    }  }}
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/9f9b65f9ddbca0004d1bacd8beba41f74c18d91c/ComposerCommands.js/clean/editor/ui/composer/content/ComposerCommands.js