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

Reply via email to