On Jan 11, 2010, at 4:56 PM, Brendan Eich wrote:

The second argument to eval has been a Mozilla extension since 1998 at least, it predates ES3:

http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/js/src/jsobj.c&rev=3.2 (1998-4-23 cvs commit, from a Netscape-internal cvs repo)

From https://bugzilla.mozilla.org/show_bug.cgi?id=531675#c4 :

> We started down this road in conversations in Ecma TC39 ... around the time ES3 was under way. We were trying to incubate a "better eval".

This was discussed in Ecma committee at the time, but it didn't make it through the ES3 process, and we did not then remove it. Failure to remove it at that point is something you could blame Mozilla JS hackers for, I agree (I'll take some of that, although I was keeping my distance in order to focus on mozilla.org founding work at the time).

But that's water way under the bridge, and frankly, it's a risk of implementing prototype features that developers then come to depend on. But it's Mozilla's albatross, not Ecma's and not es-discuss fodder to rehash further. It's a cost of business unless one only ever extends open source that never "ships" or is otherwise used or tested much, which defeats the purpose of prototyping.

We will remove eval's second argument as soon as we can. I do not think we should try to extend ES with two-arg eval, as I wrote recently. This leaves us with eval.hermetic/eval.spawn or some other extension point.

/be
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to