From f2f399dcd552e73f68c9e8adfe26ef7995724cb3 Mon Sep 17 00:00:00 2001 From: John Resig Date: Wed, 22 Aug 2007 06:19:22 +0000 Subject: [PATCH] Fixed use of eval() and new Function() to work within the correct scope (and not throw errors). --- src/jquery/jquery.js | 4 ++-- src/selector/selector.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js index 7c0562a..9bcec93 100644 --- a/src/jquery/jquery.js +++ b/src/jquery/jquery.js @@ -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 = []; diff --git a/src/selector/selector.js b/src/selector/selector.js index cf23111..bd8c791 100644 --- a/src/selector/selector.js +++ b/src/selector/selector.js @@ -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 ); -- 1.7.10.4