archives

« Bugzilla Issues Index

#2533 — chapter 12: misc editorial


----------------------------------------
In 12.1.2.1 "Static Semantics: Early Errors":

12.1.2.1 / group 3 / bullet 1:
It is a Syntax Error if the /IdentifierReference/ is contained in strict code.
s|IdentifierReference|NonResolvedIdentifier|

----------------------------------------
In 12.1.2.2 "Static Semantics: StringValue":

12.1.2.2 / production:
IdentifierReference : yield
s|IdentifierReference|NonResolvedIdentifier|

----------------------------------------
In 12.1.2.3 "Runtime Semantics: Evaluation":

12.1.2.3 / group 1 / production:
IdentifierReference : Identifier
s|IdentifierReference|NonResolvedIdentifier|

12.1.2.3 / group 2 / production:
IdentifierReference : yield
s|IdentifierReference|NonResolvedIdentifier|

----------------------------------------
In 12.1.4.1.2 "Runtime Semantics: Array Accumulation":

12.1.4.1.2 / group 5 / step 7.f:
Let /defineStatus/ be the result of
CreateDataPropertyOrThrow(/A/, ToString(ToUint32(/nextIndex/)), /nextValue/).
'A' is not defined. Change to 'array'?

----------------------------------------
In 12.1.5.8 "Runtime Semantics: PropertyDefinitionEvaluation":

12.1.5.8 / group 1 / step 6:
Let /status/ be the result of
DefinePropertyOrThrow(/object/, /propDef/.[[key]], /propDef/.[[descriptor]]).
This is the spec's only mention of [[descriptor]].

----------------------------------------
In 12.2.5.3 "Runtime Semantics: MakeSuperReference(propertyKey, strict)":

This algorithm has no preamble.

12.2.5.3 / step 7.b:
If /propertyKey/ is *undefined*, then then throw a *ReferenceError* exception.
Delete extra "then"

----------------------------------------
In 12.13.4 "Runtime Semantics: Evaluation":

12.13.4 / group 1 / production:
Delete syntactic parameters

12.13.4 / group 1 / step 1.e.iii.1:
SetFunctionName(/rval/, GetReferenceName(/lref/)).
s|GetReferenceName|GetReferencedName|

----------------------------------------
In 12.13.5.2 "Runtime Semantics: DestructuringAssignmentEvaluation":

12.13.5.2 / group 6 / step 7:
Return /lastIndex/.
'lastIndex' is not defined

----------------------------------------
In 12.13.5.3 "Runtime Semantics: IteratorDestructuringAssignmentEvaluation":

12.13.5.3 / group 1 / step 1:
Return the result of performing IteratorDestructuringAssignmentEvaluation
of /AssignmentElisionElementList/ using /iterator/ as the /argument/.
Delete "List" from "AssignmentElisionElementList"

12.13.5.3 / group 2 / step 3:
Return the result of performing IteratorDestructuringAssignmentEvaluation
of /AssignmentElisionElementList/ using /iterator/ as the /argument/.
Delete "List" from "AssignmentElisionElementList"

----------------------------------------
In 12.13.5.4 "Runtime Semantics: KeyedDestructuringAssignmentEvaluation":

12.13.5.4 / step 1:
Let /v/ be the result of Get(/obj/, /name/).
s|name|propertyName|


Some of these were fixed in rev23, and some section numbers have changed.
Here's what remains in rev24:

----------------------------------------
In 12.2.4.1.2 "Runtime Semantics: Array Accumulation":

{5}
12.2.4.1.2 / group 5 / step 7.f:
Let /defineStatus/ be the result of
CreateDataPropertyOrThrow(/A/, ToString(ToUint32(/nextIndex/)), /nextValue/).
'A' is not defined. Change to 'array'?

----------------------------------------
In 12.3.5.3 "Runtime Semantics: MakeSuperReference(propertyKey, strict)":

{7}
This algorithm has no preamble.

{8}
12.2.5.3 / step 7.b:
If /propertyKey/ is *undefined*, then then throw a *ReferenceError* exception.
Delete extra "then"

----------------------------------------
In 12.14.4 "Runtime Semantics: Evaluation":

{9}
12.14.4 / group 1 / production:
Delete syntactic parameters

{10}
12.14.4 / group 1 / step 1.e.iii.1:
SetFunctionName(/rval/, GetReferenceName(/lref/)).
s|Reference|Referenced|

----------------------------------------
In 12.14.5.2 "Runtime Semantics: DestructuringAssignmentEvaluation":

{11}
12.14.5.2 / group 6 / step 7:
Return /lastIndex/.
'lastIndex' is not defined

----------------------------------------
In 12.14.5.3 "Runtime Semantics: IteratorDestructuringAssignmentEvaluation":

{12}
12.14.5.3 / group 1 / step 1:
Return the result of performing IteratorDestructuringAssignmentEvaluation
of /AssignmentElisionElementList/ using /iterator/ as the /argument/.
Delete "List" from "AssignmentElisionElementList"

{13}
12.14.5.3 / group 2 / step 3:
Return the result of performing IteratorDestructuringAssignmentEvaluation
of /AssignmentElisionElementList/ using /iterator/ as the /argument/.
Delete "List" from "AssignmentElisionElementList"

----------------------------------------
In 12.14.5.4 "Runtime Semantics: KeyedDestructuringAssignmentEvaluation":

{14}
12.14.5.4 / step 1:
Let /v/ be Get(/obj/, /name/).
s|name|propertyName|

XXX


{10} this is another case where the grammar parameters are included the heading because they need to be referenced in the algorithm (step 2)

rest, fixed in rev25 editor's draft


confirmed fixed.