The corresponding text describing [[Configurable]] in the ES6 draft has already 
been updated to clarify that [[Writable]] can always be set to false.

Allen

On Jun 10, 2013, at 4:57 AM, Axel Rauschmayer wrote:

> The ECMAScript 5.1 spec says (8.6.1):
> [[Configurable]]: If false, attempts to delete the property, change the 
> property to be an accessor property, or change its attributes (other than 
> [[Value]]) will fail.
> 
> On the other hand [[DefineOwnProperty]] (8.12.9) allows one to change 
> writability from true to false, even if a property is not configurable:
> 
> 10 Else, if IsDataDescriptor(current) and IsDataDescriptor(Desc) are both 
> true, then
>       a. If the [[Configurable]] field of current is false, then
>               i. Reject, if the [[Writable]] field of current is false and 
> the [[Writable]] field of Desc is true.
>               ii. If the [[Writable]] field of current is false, then
>                       1. Reject, if the [[Value]] field of Desc is present 
> and SameValue(Desc.[[Value]], current.[[Value]]) is false.
>       b. else, the [[Configurable]] field of current is true, so any change 
> is acceptable.
> 
> (10.a) seems to ignore the case of [[Writable]] of `current` being true. Is 
> this deliberate?
> 
> Should the description of [[Configurable]] be changed to better reflect the 
> status quo?
> 
> -- 
> Dr. Axel Rauschmayer
> [email protected]
> 
> home: rauschma.de
> twitter: twitter.com/rauschma
> blog: 2ality.com
> 
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to