rem: a = a.label.toLowerCase().replace("&", ""); b = b.label.toLowerCase().replace("&", ""); 
add: a = a.labelstr.toLowerCase(); b = b.labelstr.toLowerCase(); 
context: function cmgr_list (partialName, flags){    /* returns array of command objects which look like |partialName|, or     * all commands if |partialName| is not specified */    function compare (a, b)    {        a = a.label.toLowerCase().replace("&", "");        b = b.label.toLowerCase().replace("&", "");        if (a == b)            return 0;         if (a > b)            return 1;        return -1;    }    var ary = new Array();    var commandNames = keys(this.commands);    /* a command named "eval" wouldn't show up in the result of keys() because     * eval is not-enumerable, even if overwritten. */    if ("eval" in this.commands && typeof this.commands.eval == "object")        commandNames.push ("eval");    for (var i in commandNames)    {        var name = commandNames[i];        if (!flags || (this.commands[name].flags & flags))        {            if (!partialName ||                this.commands[name].name.indexOf(partialName) == 0)            {                if (partialName &&                     partialName.length == this.commands[name].name.length)                {                    /* exact match */                    return [this.commands[name]];                }                else                {                    ary.push (this.commands[name]);                }            }        }    }    ary.sort(compare);    return ary;}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/c253059afafb09ee6b27e3767bb1e487e050ba0f/command-manager.js/clean/extensions/venkman/resources/content/command-manager.js