Function apply and call (was RE: Bait taken: Arguments about arguments)

Allen Wirfs-Brock Allen.Wirfs-Brock at microsoft.com
Thu Jan 15 20:08:27 PST 2009


See below

>-----Original Message-----
>From: es3.x-discuss-bounces at mozilla.org [mailto:es3.x-discuss-
>bounces at mozilla.org] On Behalf Of David-Sarah Hopwood
[snip]
> array length invariant...another ES3.1 bug]
>
>Yes, I think you're right here. Also,
> - defining an array index property past the current length would
>   violate the invariant.
> - host objects might have similar invariants that are supposed to
>   be enforced by overriding [[Get]] or [[ThrowingPut]], and that
>   Object.defineProperty would bypass.
>
>(The bug seems to be in [[DefineOwnProperty]]. I'm not sure how to fix
>it.)
>

Array instances needs to have its own version of [[DefineOwnProperty]] to go along with its [[ThrowingPut]].


>> Strictly speaking step 7 needs to compose the array elements into a
>> List as that is what [[Call]] takes as an argument
>
>If this is wrong then so is every other use of [[Call]] in the spec,
>since none of them *explicitly* say that they construct a List.
>

Well, not quite every use of [[Call]] but a lot of them...that why I said "strictly speaking".  I'd classify this as a cosmetic bug.


More information about the Es-discuss mailing list