On 2 May 2014 14:45, Claude Pache <[email protected]> wrote: > > The algorithm given in [Bug 1908, comment 2] > (https://bugs.ecmascript.org/show_bug.cgi?id=1908#c2) is problematic, as a > property name blacklisted by an `@@unsopables` anywhere on the prototype > chain will also be blacklisted when it appears as own property of the object > itself, which is undesirable. According to the [meeting notes of Sep 2013 > meeting] > (https://github.com/rwaldron/tc39-notes/blob/master/es6/2013-09/sept-17.md#53-unscopeable), > this issue was discussed, but it appears that the algorithm presented in Bug > 1908 does not incorpore the needed correction. > > The algorithm for `HasBinding(N)` on an object environment record should be > (and it seems to have been suggested in the Consensus/Resolution section of > the meeting notes, if I interpret it correctly): > > 1. First, check if there is a property of name `N` in the prototype chain, > using `HasProperty()`; > 2. then, if the property of name `N` is found and if the `withEnvironment` > flag is set to `true`, look for an own `@@unscopables` property on the object > of the prototype chain where the property of name `N` was found, and see if > it is blacklisted there.
Yes, we discussed all this at the September meeting, and the consensus was to refine the algorithm in the very way you suggest. /Andreas _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

