Call for opinions: attribute defaults and renaming "flexible"

Ingvar von Schoultz ingvar-v-s at comhem.se
Fri Sep 5 19:00:15 PDT 2008


Brendan Eich wrote:
> On Sep 5, 2008, at 5:19 PM, Ingvar von Schoultz wrote:
> 
>> Can these properties be distinguished somehow? Then maybe the
>> bug can at least be limited to a few old properties.
> 
> Search through chapter 15 of ES3 for ReadOnly.

Thanks. Oops, I should have thought of that myself.

So it's limited to the prototype and length of native constructors,
the various constants on the Math object, the source and flags of
RegExp instances, and the length and internal name of functions.

I'd say trying to change any of these is odd enough that people
will be well aware that it may not work, and so will try it, and
then check if it worked, and when it didn't, remove the useless
line.

I believe that having this in real code must be rare enough that
throwing can be enabled not only in strict mode, but also when
you opt in by specifying the language version number. This way
we get rid of the bug now, while it's still possible. Once people
are using Object.configure(), the response to forbidden write,
whichever it is, becomes firmly entrenched and impossible to
change.

Has this been checked by spidering? I'd really be surprised if
assignment to these properties is frequent enough to be a problem
in any way.

-- 
Ingvar von Schoultz



More information about the Es-discuss mailing list