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

Reply via email to