+++ This bug was initially created as a clone of Bug #77 +++
On Mar 21, 2011, at 8:12 AM, Felix Klock II wrote:
ES5 discussion group (cc'ing Lars)-
(My apologies if the issue described below has already been discussed; I could not find mention of it in the ES5 erratum [1], nor is it corrected in the 5.1 maintenance revision of the ES5 specification [2].)
In the ES5 spec from December 2009, at the top of page 206, there is a bit of text that is probably erroneously referring to the italicized /space/ parameter.
In particular, the text in question (which is part of the definition of the abstract operation "JO(value)") reads, starting from the bottom of page 205:
ii. Let /member/ be the concatenation of /member/ and the colon character.
iii. If /gap/ is not the empty String
1. Let /member/ be the concatenation of /member/ and the /space/ character.
The text "the /space/ character", interpreted literally, does not make sense; the use of italicized /space/ would be interpreted as a reference to the Number or String value, which do not generally serve as names for characters.
Lars Hansen pointed out this problem in a comment while making an Actionscript implementation of the JSON class [3].
A reasonable hypothesis is that this is a formatting typo, and that the occurrence of the word "space" should not have been italicized. However, the text introducing the "JO(value)" abstract operation explicitly states that the operation has access to /space/ of the invocation of the stringify method, while there are no other references to /space/ that I can see in the text defining the "JO(value)" abstract operation. So that would also need to be corrected if this is just a formatting typo.
Cheers,
-Felix Klock
see comment in original bug. The mention of RepalcerFunction in the intro to JO is also unneeded.
corrected in editor's draft