----------------------------------------
In 24.1.1.2 "SetArrayBufferData(arrayBuffer, bytes)":
24.1.1.2 / step 3:
Assert: /bytes/ is positive integer.
After "is", insert "a"
24.1.1.2 / step 6:
Set /arrayBuffer/'s [[ArrayBufferData]] to /block/.
After "[[ArrayBufferData]]", insert "internal slot".
----------------------------------------
In 24.1.1.3 "CloneArrayBuffer(srcBuffer, srcByteOffset)":
24.1.1.3 / step 11:
Let /status/ be the result of SetArrayBufferData(/data/, /cloneLength/).
'data' is not defined
24.1.1.3 / step 14:
Perform CopyDataBlock(...).
s|CopyDataBlock|CopyDataBlockBytes|
----------------------------------------
In 24.1.1.4 "GetValueFromBuffer (arrayBuffer, byteIndex, type, isLittleEndian)":
24.1.1.4 / step 1:
... to represent a value of /valueType/.
s|valueType|type|
24.1.1.4 / step 5:
... specified in Table 43 for /valueType/.
s|valueType|type|
24.1.1.4 / step 7:
If /isLittleEndian/ is *undefined*, set /isLittleEndian/ to ...
The preamble says:
"If isLitteleEndian is not present, its default value is undefined."
but the algorithm does not accomplish this.
You could insert a step:
If isLitteleEndian is not present, let isLitteleEndian be undefined.
before step 7, but instead, just change step 7 to begin:
If /isLittleEndian/ is not present, ...
and change or delete that sentence from the preamble.
----------------------------------------
In 24.1.1.5 "SetValueInBuffer (...)":
24.1.1.5 / step 1:
... to represent a value of /valueType/.
s|valueType|type|
24.1.1.5 / step 5:
Let /elementSize/ be the Number value of the Element Size value specified in
Table 43 for the row containing the value of /type/ as its Element Type entry.
Delete "the row containing the value of"
24.1.1.5 / step 6:
If /isLittleEndian/ is *undefined*, set /isLittleEndian/ to ...
[As in 24.1.1.4 / step 7.]
24.1.1.5 / step 9.a:
Let /n/ be the Size Element value in Table 43 for the row containing the value
of /type/ as its Element Type entry.
s|Size Element|Element Size|
Delete "the row containing the value of"
24.1.1.5 / step 9.b:
Let /convOp/ be the abstract operation named in the Conversion Operation column
in Table 43 for the row containing the value of /type/ as its Element Type entry
Delete "the row containing the value of"
----------------------------------------
In 24.1.4.3 "ArrayBuffer.prototype.slice ( start , end)":
24.1.4.3 / step 20:
If the value of /new/'s [[ArrayBufferByteLength]] < /newLen/, then ...
After "[[ArrayBufferByteLength]]", insert "internal slot"
----------------------------------------
In 24.2.2.1 "DataView(buffer, byteOffset=0, byteLength=undefined)":
24.2.2.1 / step 17:
Set /O/'s [[ViewedArrayBuffer]] to /buffer/.
After "[[ViewedArrayBuffer]]", insert "internal slot".
----------------------------------------
In 24.2.3 "Properties of the DataView Constructor":
24.2.3 / para 2:
Besides the length <code>property</code> (whose value is 3), ...
Put monospace font on "length", remove it from "property".
----------------------------------------
In 24.3.2.4 "Runtime Semantics: JA Abstract Operation":
24.3.2.4 / step 6:
... and hence its "length" property is a non-negative integer.
s|non-negative|nonnegative|
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
fixed in rev25 editor's draft
confirmed fixed except for items I re-raised as Bug 2960 and Bug 2962.