rem:  var accessKeyIndex; if (/^\&[^\&]/.test(aLabel)) { accessKeyIndex = 0; } else { accessKeyIndex = aLabel.search(/[^\&]\&[^\&]/) + 1; if (accessKeyIndex == 0) { accessKeyIndex = -1; } 
add:          var accessKey = null; if (/ *\(\&([^&])\)(:)?$/.test(aLabel)) { aLabel = RegExp.leftContext + RegExp.$2; accessKey = RegExp.$1; } else if (/^(.*[^&])?\&(([^&]).*$)/.test(aLabel)) { aLabel = RegExp.$1 + RegExp.$2; accessKey = RegExp.$3; 
context: function setLabelForNode(aNode, aLabel, aIsLabelFlag){  // This is for labels with possible accesskeys  var accessKeyIndex;  if (/^\&[^\&]/.test(aLabel)) { // access key is at the start   accessKeyIndex = 0;  } else {    accessKeyIndex = aLabel.search(/[^\&]\&[^\&]/) + 1;    if (accessKeyIndex == 0) {      accessKeyIndex = -1; // magic value for no accesskey    }  }  // If a character has an & before it, then it should become an accesskey  if (accessKeyIndex >= 0 && accessKeyIndex < aLabel.length - 1) {    // This will also cause the accesskey attribute to be set via xbl    aNode.accessKey = aLabel.charAt(accessKeyIndex + 1);    // Set the label to the string without the &    aLabel = aLabel.substr(0, accessKeyIndex) +              aLabel.substr(accessKeyIndex + 1);  }  aLabel = aLabel.replace(/\&\&/g, "&");  if (aIsLabelFlag) {    // Set text for <label> element    aNode.setAttribute("value", aLabel);  } else {    // Set text for other xul elements    aNode.label = aLabel;  }}
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/d3d4bca8d67d2003687fa05d3826244d07470936/commonDialog.js/buggy/toolkit/content/commonDialog.js