michael@0: function f(code) { michael@0: code.replace(/s/, "") michael@0: eval(code) michael@0: } michael@0: this.__defineGetter__("x", function() { return /x/.exec('x'); }) michael@0: f("function a() {\ michael@0: x = Proxy.createFunction((function () {\ michael@0: return {\ michael@0: defineProperty: function (name, desc) {\ michael@0: Object.defineProperty(x, name, desc)\ michael@0: },\ michael@0: has: function () {},\ michael@0: get: function (r, name) {\ michael@0: return x[name]\ michael@0: }\ michael@0: }\ michael@0: })(), Object.defineProperties).__defineGetter__(\"\",(Function(\"\")))} ;\ michael@0: a()\ michael@0: ") michael@0: michael@0: reportCompare("ok", "ok", "bug 566914");