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.