« Bugzilla Issues Index
#58 — S7.8.4_A6.4_T1/T2 & S7.8.4_A7.4_T1/T2 are invalid according to ES5.
- bug_id:
58
- creation_ts:
2011-03-07 23:05:00 -0800
- short_desc:
S7.8.4_A6.4_T1/T2 & S7.8.4_A7.4_T1/T2 are invalid according to ES5.
- delta_ts:
2011-09-25 11:11:53 -0700
- product:
Test262
- component:
ECMA-262 Tests
- version:
unspecified
- rep_platform:
All
- op_sys:
All
- bug_status:
RESOLVED
- resolution:
FIXED
- bug_file_loc:
http://hg.ecmascript.org/tests/test262/rev/d32911f87548
- priority:
Normal
- bug_severity:
normal
- everconfirmed:
true
- reporter:
barraclough
- assigned_to:
Mark S. Miller
- cc:
["dfugate", "erights"]
- commentid:
132
- comment_count:
0
- who:
barraclough
- bug_when:
2011-03-07 23:05:59 -0800
The only valid hex/unicode escapes permitted by ES5 are lowercase x/u respectively, as documented by the HexEscapeSequence and UnicodeEscapeSequence rules in 7.8.4. "\X" and "\U" should match the NonEscapeCharacter rule, and thus has the semantics:
* The CV of NonEscapeCharacter :: SourceCharacter but not EscapeCharacter or LineTerminator is the SourceCharacter character itself.
(i.e. '\Xff' === 'Xff')
Treating this as a hex/unicode escape does not match the spec.
- commentid:
134
- comment_count:
1
- who:
Dave Fugate
- bug_when:
2011-03-08 08:56:30 -0800
You're absolutely correct. "\X01" parses down to:
StringLiteral:: // "\X01"
" DoubleStringCharactersopt " // \X01
DoubleStringCharacter DoubleStringCharactersopt // \X01
\ EscapeSequence // X01
CharacterEscapeSequence // X01
NonEscapeCharacter // X01
=> ", \X, 0, 1, "
=> ", X, 0, 1, "
=> "X01"
I'll disable the tests shortly.
- commentid:
135
- comment_count:
2
- who:
Dave Fugate
- bug_when:
2011-03-08 09:20:56 -0800
The change has been checked into Hg.
- commentid:
136
- comment_count:
3
- who:
barraclough
- bug_when:
2011-03-08 10:13:38 -0800
Awesome, thanks Dave!
- commentid:
475
- comment_count:
4
- who:
Mark S. Miller
- bug_when:
2011-09-25 11:11:53 -0700
Fixed at http://hg.ecmascript.org/tests/test262/rev/d32911f87548