diff --git a/spec.html b/spec.html
index 02867306da..88cb4c2bda 100644
--- a/spec.html
+++ b/spec.html
@@ -647,6 +647,7 @@
Grammar Notation
DecimalDigit [lookahead <! DecimalDigit]
matches either the letter `n` followed by one or more decimal digits the first of which is even, or a decimal digit not followed by another decimal digit.
+ Similarly, if the phrase “[lookahead ∈ _set_]” appears in the right-hand side of a production, it indicates that the production may only be used if the immediately following input token sequence is a member of the given _set_. If the _set_ consists of a single terminal the phrase “[lookahead = _terminal_]” may be used.
If the phrase “[no |LineTerminator| here]” appears in the right-hand side of a production of the syntactic grammar, it indicates that the production is a restricted production: it may not be used if a |LineTerminator| occurs in the input stream at the indicated position. For example, the production:
ThrowStatement :
@@ -29444,7 +29445,7 @@ ClassEscape
The production ClassEscape :: `-` evaluates as follows:
- 1. Return the CharSet containing the single character - U+002D (HYPHEN-MINUS).
+ 1. Return the CharSet containing the single character `-` U+002D (HYPHEN-MINUS).
The production ClassEscape :: CharacterEscape evaluates as follows:
@@ -38148,6 +38149,7 @@ Syntax
ExtendedAtom ::
`.`
`\` AtomEscape[~U]
+ `\` [lookahead == `c`]
CharacterClass[~U]
`(` Disjunction[~U] `)`
`(` `?` `:` Disjunction[~U] `)`
@@ -38160,7 +38162,7 @@ Syntax
`{` DecimalDigits `,` DecimalDigits `}`
ExtendedPatternCharacter ::
- SourceCharacter but not one of `^` `$` `.` `*` `+` `?` `(` `)` `[` `|`
+ SourceCharacter but not one of `^` `$` `\` `.` `*` `+` `?` `(` `)` `[` `|`
AtomEscape[U] ::
[+U] DecimalEscape
@@ -38218,6 +38220,11 @@ Pattern Semantics
Assertion () evaluation rules for the Assertion :: `(` `?` `=` Disjunction `)` and Assertion :: `(` `?` `!` Disjunction `)` productions are also used for the |QuantifiableAssertion| productions, but with |QuantifiableAssertion| substituted for |Assertion|.
Atom () evaluation rules for the |Atom| productions except for Atom :: PatternCharacter are also used for the |ExtendedAtom| productions, but with |ExtendedAtom| substituted for |Atom|. The following evaluation rules are also added:
+ The production ExtendedAtom :: `\` [lookahead == `c`] evaluates as follows:
+
+ 1. Let _A_ be the CharSet containing the single character `\\` U+005C (REVERSE SOLIDUS).
+ 1. Call CharacterSetMatcher(_A_, *false*) and return its Matcher result.
+
The production ExtendedAtom :: InvalidBracedQuantifier evaluates as follows:
1. Throw a *SyntaxError* exception.
@@ -38272,7 +38279,7 @@ Runtime Semantics: CharacterRangeOrUnion ( _A_, _B_ )
1. If _Unicode_ is *false*, then
1. If _A_ does not contain exactly one character or _B_ does not contain exactly one character, then
- 1. Let _C_ be the CharSet containing the single character - U+002D (HYPHEN-MINUS).
+ 1. Let _C_ be the CharSet containing the single character `-` U+002D (HYPHEN-MINUS).
1. Return the union of CharSets _A_, _B_ and _C_.
1. Return CharacterRange(_A_, _B_).