On Nov 15, 2012, at 11:58 AM, Andrea Giammarchi <andrea.giammar...@gmail.com> wrote:
> my typo ... I am NOT talking about callee, I am talking about caller which is > NOT a misfeature specially when it comes to debug and stack trace. The solution to debugging is to use a debugger, not to try and debug from within the language. All modern JS engines provide a) a debugger and b) stack traces on exceptions. Even if they weren't .caller is insufficient: it can't walk over strict, native, or global code that exists in the call stack, so at best you only get a crappy result. Like I said in my prior email: If you're willing to toss out the improvements of strict mode just to get arguments.caller, you may as well stop using it in the first place. --Oliver > > > On Thu, Nov 15, 2012 at 11:55 AM, Oliver Hunt <oli...@apple.com> wrote: > > On Nov 15, 2012, at 11:44 AM, Andrea Giammarchi <andrea.giammar...@gmail.com> > wrote: > > > I wonder if there is any plan to allow a chunk of code to disable for its > > own closure purpose a previously called "use strict"; directive. > > > > This is about the ability to use, when not possible otherwise, some good > > old feature such caller which is impossible to replicate when use strict is > > in place. > > > > I am talking about arguments.callee, I am talking about caller. > > arguments.callee and .caller are not good features. > > Being able to access your caller is a misfeature. > > arguments.callee is simply unnecessary. > > Also having the ability to lose strict semantics at arbitrary locations in > the middle of other strict modes makes things even slower, and adds all sorts > of weird semantic behaviours (eg. what would eval('"no strict"; var x;') do? > -- this is hypothetical, just given as a trivial example of where things go > weird) > > --Oliver >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss