« Bugzilla Issues Index

#357 — B.3.1.3: various oddities

In B.3.1.3 "__proto___ Object Initialisers":

"Definitions of two algorithms in 11.1.5 are replaced with the following:"

Change "11.1.5" to "" ?

In the algorithms, step 3.b / 5.b is (in its entirety):
"If desc be propId.descriptor"
which doesn't make any sense. I'm guessing it should be:
"Let desc be propId.descriptor"
except that there are no other references to 'desc' in either algorithm.
Maybe just delete it?

Step 3.c.i / 5.c.i says:
"Set the value of the [[Prototype]] internal property of O to V."
but neither 'O' nor 'V' have been defined. Should it be:
"... of obj to v" ?

Step 3.c.ii / 5.c.ii says simply:
but shouldn't the algorithm return an object? So maybe
"Return obj"

11.1.5 isn't supposed to have subsections. I eliminated those subsection numbers instead of changing the reference

As __proto__ seemms to be one the road to being a non-optional features, this needs to be integrated into 11.1.5 and update to match the current formulation of in 11.1.5

(C) and (D) have been fixed in rev 10, but (B) is still there.

Re "Definitions of two algorithms ... are replaced":
It's unclear which two algorithms are to be replaced.

Both algorithms in B.3.1.3 deal with evaluation of PropertyDefinitionList,
but if you look under "Runtime Semantics: Evaluation" in 11.1.5,
there aren't any rules for PropertyDefinitionList.

If you look under "Runtime Semantics: Property Definition Evaluation",
there's only one.

In the two algorithms, all references to evaluation should probably be changed to
"Property Definition Evaluation".

The algorithms should take 'object' as a parameter?

The algorithms appear to assume that the result of evaluating a PropertyDefinition is a Property Identifier, but Property Definition Evaluation of a PropertyDefinition just returns the result of calling [[DefineOwnProperty]], which is a boolean.

in October 26, 2012 release draft