rem: return $A(arguments).map(function(expression) { return expression.strip().split(/\s+/).inject([null], function(results, expr) { var selector = new Selector(expr); return results.map(selector.findElements.bind(selector)).flatten(); }); }).flatten(); 
add: clause.each(function(attribute) { var value = 'element.getAttribute(' + attribute.name.inspect() + ')'; var splitValueBy = function(delimiter) { return value + ' && ' + value + '.split(' + delimiter.inspect() + ')'; }  switch (attribute.operator) { case '=':       conditions.push(value + ' == ' + attribute.value.inspect()); break; case '~=':      conditions.push(splitValueBy(' ') + '.include(' + attribute.value.inspect() + ')'); break; case '|=':      conditions.push( splitValueBy('-') + '.first().toUpperCase() == ' + attribute.value.toUpperCase().inspect() ); break; case '!=':      conditions.push(value + ' != ' + attribute.value.inspect()); break; case '': case undefined: conditions.push(value + ' != null'); break; default:        throw 'Unknown operator ' + attribute.operator + ' in selector'; } }); 
context:   return $A(arguments).map(function(expression) {    return expression.strip().split(/\s+/).inject([null], function(results, expr) {      var selector = new Selector(expr);      return results.map(selector.findElements.bind(selector)).flatten();    });  }).flatten();
meta: 522	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/522/bb2276098a5a21c35e5ee72b3097bd9d7caa919f/prototype.js/buggy/actionpack/lib/action_view/helpers/javascripts/prototype.js