  else if ( m[1] == "." ) r = jQuery.classFilter(r, m[2], not); 
	filter: function(t,r,not) {		var last;		// Look for common filter expressions		while ( t  && t != last ) {			last = t;			var p = jQuery.parse, m;			jQuery.each( p, function(i,re){						// Look for, and replace, string-like sequences				// and finally build a regexp out of it				m = re.exec( t );				if ( m ) {					// Remove what we just matched					t = t.substring( m[0].length );					// Re-organize the first match					if ( jQuery.expr[ m[1] ]._resort )						m = jQuery.expr[ m[1] ]._resort( m );					m[2] = m[2].replace(/\\/g, "");					return false;				}			});			if ( !m )				continue;			// :not() is a special case that can be optimized by			// keeping it out of the expression list			if ( m[1] == ":" && m[2] == "not" )				r = jQuery.filter(m[3], r, true).r;			// Otherwise, find the expression to execute			else {				var f = jQuery.expr[m[1]];				if ( typeof f != "string" )					f = jQuery.expr[m[1]][m[2]];				// Build a custom macro to enclose it				eval("f = function(a,i){" +					( jQuery.expr[ m[1] ]._prefix || "" ) +					"return " + f + "}");				// Execute it against the current filter				r = jQuery.grep( r, f, not );			}		}		// Return an array of filtered elements (r)		// and the modified expression string (t)		return { r: r, t: t };	},
6056	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/6056/9c94ef4c411867d38f301ccbf406af21e277188c/selector.js/buggy/src/selector/selector.js