diff --git a/spec.html b/spec.html
index 44f14fbf8ac..6fa20a1b0c6 100644
--- a/spec.html
+++ b/spec.html
@@ -14608,6 +14608,9 @@
Static Semantics: SV
The SV of UnicodeEscapeSequence :: `u{` CodePoint `}` is the result of performing UTF16EncodeCodePoint on the MV of |CodePoint|.
+
+ The SV of TemplateEscapeSequence :: `0` is the String value consisting of the code unit 0x0000 (NULL).
+
@@ -14734,12 +14737,18 @@ Syntax
TemplateCharacter ::
`$` [lookahead != `{`]
- `\` EscapeSequence
+ `\` TemplateEscapeSequence
`\` NotEscapeSequence
LineContinuation
LineTerminatorSequence
SourceCharacter but not one of ``` or `\` or `$` or LineTerminator
+ TemplateEscapeSequence ::
+ CharacterEscapeSequence
+ `0` [lookahead <! DecimalDigit]
+ HexEscapeSequence
+ UnicodeEscapeSequence
+
NotEscapeSequence ::
`0` DecimalDigit
DecimalDigit but not `0`
@@ -14759,7 +14768,6 @@ Syntax
CodePoint ::
HexDigits[~Sep] [> but only if MV of |HexDigits| ≤ 0x10FFFF]
- A conforming implementation must not use the extended definition of |EscapeSequence| described in when parsing a |TemplateCharacter|.
|TemplateSubstitutionTail| is used by the |InputElementTemplateTail| alternative lexical goal.
@@ -14790,7 +14798,7 @@ Static Semantics: TV and TRV
The TV of TemplateCharacter :: `$` is the String value consisting of the code unit 0x0024 (DOLLAR SIGN).
- The TV of TemplateCharacter :: `\` EscapeSequence is the SV of |EscapeSequence|.
+ The TV of TemplateCharacter :: `\` TemplateEscapeSequence is the SV of |TemplateEscapeSequence|.
The TV of TemplateCharacter :: `\` NotEscapeSequence is *undefined*.
@@ -14811,13 +14819,13 @@ Static Semantics: TV and TRV
The TRV of TemplateCharacter :: `$` is the String value consisting of the code unit 0x0024 (DOLLAR SIGN).
- The TRV of TemplateCharacter :: `\` EscapeSequence is the string-concatenation of the code unit 0x005C (REVERSE SOLIDUS) and the TRV of |EscapeSequence|.
+ The TRV of TemplateCharacter :: `\` TemplateEscapeSequence is the string-concatenation of the code unit 0x005C (REVERSE SOLIDUS) and the TRV of |TemplateEscapeSequence|.
The TRV of TemplateCharacter :: `\` NotEscapeSequence is the string-concatenation of the code unit 0x005C (REVERSE SOLIDUS) and the TRV of |NotEscapeSequence|.
- The TRV of EscapeSequence :: `0` is the String value consisting of the code unit 0x0030 (DIGIT ZERO).
+ The TRV of TemplateEscapeSequence :: `0` is the String value consisting of the code unit 0x0030 (DIGIT ZERO).
The TRV of NotEscapeSequence :: `0` DecimalDigit is the string-concatenation of the code unit 0x0030 (DIGIT ZERO) and the TRV of |DecimalDigit|.
@@ -14896,7 +14904,7 @@ Static Semantics: TV and TRV
- TV excludes the code units of |LineContinuation| while TRV includes them. <CR><LF> and <CR> |LineTerminatorSequence|s are normalized to <LF> for both TV and TRV. An explicit |EscapeSequence| is needed to include a <CR> or <CR><LF> sequence.
+ TV excludes the code units of |LineContinuation| while TRV includes them. <CR><LF> and <CR> |LineTerminatorSequence|s are normalized to <LF> for both TV and TRV. An explicit |TemplateEscapeSequence| is needed to include a <CR> or <CR><LF> sequence.
@@ -41446,6 +41454,7 @@ Lexical Grammar
+
@@ -41797,7 +41806,7 @@ Syntax
NonOctalDecimalEscapeSequence :: one of
`8` `9`
- This definition of |EscapeSequence| is not used in strict mode or when parsing |TemplateCharacter|.
+ This definition of |EscapeSequence| is not used in strict mode.
It is possible for string literals to precede a Use Strict Directive that places the enclosing code in strict mode, and implementations must take care to not use this extended definition of |EscapeSequence| with such literals. For example, attempting to parse the following source text must fail: