Clarification needed on 10.2.1.1.3 SetMutableBinding on a Declarative Environment Record

Mark S. Miller erights at google.com
Sat Jun 5 23:02:51 PDT 2010


The text for SetMutableBinding in table 17 is correct:

[...] If S is true and
the binding cannot be set throw a TypeError exception. S is
used to identify strict mode references.


supporting the notion that the text in 10.2.1.1.3 is an errata.



On Sat, Jun 5, 2010 at 10:27 PM, Mark S. Miller <erights at google.com> wrote:

> On Sat, Jun 5, 2010 at 10:01 PM, Brendan Eich <brendan at mozilla.com> wrote:
>
>> On Jun 5, 2010, at 9:41 PM, Mark S. Miller wrote:
>>
>> Am I misunderstanding something, or 2) was this the intended spec, or 3)
>> are these three browsers all non-conformant in the same manner? If the 3rd,
>> I'll file bugs on this. If the 2nd, should we add a correction to the ES5
>> errata?
>>
>>
>> Whatever happened to "don't break the web"? :-P
>>
>> The ES3 spec has no exception here. If ES5 introduced an incompatible
>> change, we should issue an erratum.
>>
>
> +1. I suggest replacing the text I quote above with
>
> If the binding is an immutable binding and S is true, then a TypeError is
> thrown.
>
>
> And algorithmic step 4:
>
> 4. Else this must be an attempt to change the value of an immutable binding
> so throw a TypeError exception.
>
>
> should be changed to
>
>
> 4. Else this must be an attempt to change the value of an immutable
> binding, so
>
>  a. If S is true, throw a TypeError exception.
>
>
>
>> /be
>>
>
>
>
> --
>     Cheers,
>     --MarkM
>



-- 
    Cheers,
    --MarkM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20100605/8f7df08f/attachment.html>


More information about the es-discuss mailing list