Skip to content

Commit 35b7eb2

Browse files
gibson042ljharb
authored andcommitted
Normative: Always check regular expression flags by "flags" (#2791)
1 parent 0981442 commit 35b7eb2

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

spec.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36555,12 +36555,11 @@ <h1>RegExp.prototype [ @@match ] ( _string_ )</h1>
3655536555
1. Let _rx_ be the *this* value.
3655636556
1. If Type(_rx_) is not Object, throw a *TypeError* exception.
3655736557
1. Let _S_ be ? ToString(_string_).
36558-
1. Let _global_ be ToBoolean(? Get(_rx_, *"global"*)).
36559-
1. If _global_ is *false*, then
36558+
1. Let _flags_ be ? ToString(? Get(_rx_, *"flags"*)).
36559+
1. If _flags_ does not contain *"g"*, then
3656036560
1. Return ? RegExpExec(_rx_, _S_).
3656136561
1. Else,
36562-
1. Assert: _global_ is *true*.
36563-
1. Let _fullUnicode_ be ToBoolean(? Get(_rx_, *"unicode"*)).
36562+
1. If _flags_ contains *"u"*, let _fullUnicode_ be *true*. Otherwise, let _fullUnicode_ be *false*.
3656436563
1. Perform ? Set(_rx_, *"lastIndex"*, *+0*<sub>𝔽</sub>, *true*).
3656536564
1. Let _A_ be ! ArrayCreate(0).
3656636565
1. Let _n_ be 0.
@@ -36626,9 +36625,10 @@ <h1>RegExp.prototype [ @@replace ] ( _string_, _replaceValue_ )</h1>
3662636625
1. Let _functionalReplace_ be IsCallable(_replaceValue_).
3662736626
1. If _functionalReplace_ is *false*, then
3662836627
1. Set _replaceValue_ to ? ToString(_replaceValue_).
36629-
1. Let _global_ be ToBoolean(? Get(_rx_, *"global"*)).
36628+
1. Let _flags_ be ? ToString(? Get(_rx_, *"flags"*)).
36629+
1. If _flags_ contains *"g"*, let _global_ be *true*. Otherwise, let _global_ be *false*.
3663036630
1. If _global_ is *true*, then
36631-
1. Let _fullUnicode_ be ToBoolean(? Get(_rx_, *"unicode"*)).
36631+
1. If _flags_ contains *"u"*, let _fullUnicode_ be *true*. Otherwise, let _fullUnicode_ be *false*.
3663236632
1. Perform ? Set(_rx_, *"lastIndex"*, *+0*<sub>𝔽</sub>, *true*).
3663336633
1. Let _results_ be a new empty List.
3663436634
1. Let _done_ be *false*.

0 commit comments

Comments
 (0)