Fixed use of eval() and new Function() to work within the correct scope (and not...
authorJohn Resig <jeresig@gmail.com>
Wed, 22 Aug 2007 06:19:22 +0000 (06:19 +0000)
committerJohn Resig <jeresig@gmail.com>
Wed, 22 Aug 2007 06:19:22 +0000 (06:19 +0000)
src/jquery/jquery.js
src/selector/selector.js

index 7c0562a..9bcec93 100644 (file)
@@ -1857,7 +1857,7 @@ jQuery.extend({
                // If a string is passed in for the function, make a function
                // for it (a handy shortcut)
                if ( typeof fn == "string" )
-                       fn = eval("function(a,i){return " + fn + "}");
+                       fn = eval("false||function(a,i){return " + fn + "}");
 
                var result = [];
 
@@ -1911,7 +1911,7 @@ jQuery.extend({
                // If a string is passed in for the function, make a function
                // for it (a handy shortcut)
                if ( typeof fn == "string" )
-                       fn = eval("function(a){return " + fn + "}");
+                       fn = eval("false||function(a){return " + fn + "}");
 
                var result = [];
 
index cf23111..bd8c791 100644 (file)
@@ -405,7 +405,7 @@ jQuery.extend({
                                        f = jQuery.expr[m[1]][m[2]];
 
                                // Build a custom macro to enclose it
-                               eval("f = function(a,i){return " + f + "}");
+                               f = eval("false||function(a,i){return " + f + "}");
 
                                // Execute it against the current filter
                                r = jQuery.grep( r, f, not );