On Mon, Mar 11, 2024 at 8:26 AM Mike Taylor <miketa...@chromium.org> wrote:

> On 3/11/24 6:49 AM, Yoav Weiss (@Shopify) wrote:
>
>
>
> On Fri, Mar 8, 2024 at 4:26 PM Mike Taylor <miketa...@chromium.org> wrote:
>
>> LGTM1
>> On 3/7/24 6:22 PM, Shu-yu Guo wrote:
>>
>> Contact emails pth...@chromium.org, s...@chromium.org
>>
>> Explainer None
>>
>> Specification https://github.com/tc39/ecma262/pull/2721
>>
>>
> What are the implications of this on regexes that already have duplicate
> named capture groups? Would their behavior change?
>
> Shu can confirm, but my understanding is any regexes in the wild that have
> duplicate named capture groups today are just busted (they should throw a
> SyntaxError - and those are pretty hard to miss). If they do exist in the
> wild, they should start working, which in theory would match author intent.
> The risk seems very low IMHO, if it exists at all.
>

Exactly right. This is a case of going from a SyntaxError to working, so
there should be no back compat issues.

The concrete example from the explainer currently throws a SyntaxError:

```
/(?<year>[0-9]{4})-[0-9]{2}|[0-9]{2}-(?<year>[0-9]{4})/
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Invalid regular expression:
/(?<year>[0-9]{4})-[0-9]{2}|[0-9]{2}-(?<year>[0-9]{4})/: Duplicate capture
group name
```


>>
>> Summary
>>
>> https://github.com/tc39/proposal-duplicate-named-capturing-groups
>>
>>
>> Blink component Blink>JavaScript>Regexp
>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EJavaScript%3ERegexp>
>>
>> TAG review None
>>
>> TAG review status Not applicable
>>
>> Risks
>>
>>
>> Interoperability and Compatibility
>>
>> This is a Stage 3 TC39 proposal. No known interop risk. No known web
>> incompatibility risk.
>>
>>
>> *Gecko*: Positive Firefox uses V8's regexp engine, so it is not actually
>> an independent implementation here.
>>
>> *WebKit*: Shipped/Shipping (
>> https://bugs.webkit.org/show_bug.cgi?id=252553) Stage 3 TC39 proposal.
>>
>> *Web developers*: No signals
>>
>> *Other signals*:
>>
>> Ergonomics
>>
>> No known ergonomics risks.
>>
>>
>> Activation
>>
>> This is unlikely to be polyfillable since it's adding a new kind of
>> RegExp syntax.
>>
>>
>> Security
>>
>> No known security risks.
>>
>>
>> WebView application risks
>>
>> Does this intent deprecate or change behavior of existing APIs, such that
>> it has potentially high risk for Android WebView-based applications?
>>
>> None
>>
>>
>> Debuggability
>>
>> Debuggable like any other JS RegExp.
>>
>>
>> Will this feature be supported on all six Blink platforms (Windows, Mac,
>> Linux, ChromeOS, Android, and Android WebView)? Yes
>>
>> Is this feature fully tested by web-platform-tests
>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>> ? Yes
>>
>> Tested in test262. https://github.com/tc39/test262/pull/3625
>> https://github.com/tc39/test262/pull/3706
>> https://github.com/tc39/test262/pull/3709
>>
>>
>> Flag name on chrome://flags --js-regexp-duplicate-named-groups
>>
>> Finch feature name None
>>
>> Non-finch justification None
>>
>> Requires code in //chrome? False
>>
>> Estimated milestones
>> DevTrial on desktop 123
>> DevTrial on Android 123
>>
>> Anticipated spec changes
>>
>> Open questions about a feature may be a source of future web compat or
>> interop issues. Please list open issues (e.g. links to known github issues
>> in the project for the feature specification) whose resolution may
>> introduce web compat/interop risk (e.g., changing to naming or structure of
>> the API in a non-backward-compatible way).
>> None
>>
>> Link to entry on the Chrome Platform Status
>> https://chromestatus.com/feature/5149208388829184
>>
>> This intent message was generated by Chrome Platform Status
>> <https://chromestatus.com/>.
>> --
>> You received this message because you are subscribed to the Google Groups
>> "blink-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to blink-dev+unsubscr...@chromium.org.
>> To view this discussion on the web visit
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAN-e9e_1DaU400sEcpB6RGv3pZg_382WduoF9MPZvK8QTPfdSQ%40mail.gmail.com
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAN-e9e_1DaU400sEcpB6RGv3pZg_382WduoF9MPZvK8QTPfdSQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "blink-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to blink-dev+unsubscr...@chromium.org.
>> To view this discussion on the web visit
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/09ed7eb2-94f7-435b-a8fe-9271a5feb76c%40chromium.org
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/09ed7eb2-94f7-435b-a8fe-9271a5feb76c%40chromium.org?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAN-e9e_EWZPoUHJMd0_vMFm04q3UW%3DD2u-RpkCegCX_Q35MogA%40mail.gmail.com.

Reply via email to