From d12a7b019172a986f85350b23956e0a677cf82bf Mon Sep 17 00:00:00 2001 From: Claude Pache Date: Wed, 21 Aug 2019 18:42:21 +0200 Subject: [PATCH] Editorial: Add missing _direction_ parameter in extended regexp pattern evaluate semantics in Annex B (#1675) Bugfix: When speccing lookbehind assertions (PR #1029), a `direction` parameter were added, in particular to the `evaluate` semantics of Atom productions and to the CharacterSetMatcher abstract operation. The ExtendedAtom productions found in Annex B were forgotten to be amended in the same way. Fixes #1674. --- spec.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spec.html b/spec.html index a063973e47..f36a977d07 100644 --- a/spec.html +++ b/spec.html @@ -42014,17 +42014,17 @@

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:

+

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, with parameter _direction_, 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. + 1. Call CharacterSetMatcher(_A_, *false*, _direction_) and return its Matcher result.

The production ExtendedAtom :: ExtendedPatternCharacter evaluates as follows:

1. Let _ch_ be the character represented by |ExtendedPatternCharacter|. 1. Let _A_ be a one-element CharSet containing the character _ch_. - 1. Call CharacterSetMatcher(_A_, *false*) and return its Matcher result. + 1. Call CharacterSetMatcher(_A_, *false*, _direction_) and return its Matcher result.

CharacterEscape () includes the following additional evaluation rule: