Skip to content

Follow ups to deprecating ES3 support and native method overrides #208

@slevithan

Description

@slevithan

In XRegExp v4.0.0, ES3 support was removed (see #108) and XRegExp.install('natives') was removed (#207).

Some follow ups that should be done as a result:

  • Consider deleting the "fixed" versions of native methods and just defer to native regex/string methods. ES5+ browsers don't have most of the old bugs and inconsistencies.
  • Bring back most of the tests from s-xregexp-natives.js (deleted in Remove support for XRegExp.install('natives') #207) that test native regex capabilities, and adapt them for XRegExp methods like exec and replace. The replace tests described under heading "provides extensions:" was brought back in commit 6439765.
  • Update comments in s-xregexp-methods.js that say things like "These specs should mirror those for RegExp.prototype.exec as closely as possible", since s-xregexp-natives.js was deleted in Remove support for XRegExp.install('natives') #207.
  • Possibly kill handling for inconsistencies related to nonparticipating capturing groups (search for "nonparticipating" in code), if ES5 browsers generally get this right.
  • Possibly kill the empty character class ([] and [^]) transforms if all major ES5 browsers get this right. (Moved to Remove obsolete cross-browser fix for empty character classes #319)
  • Remove calls to stored versions of native regex/string methods, since native methods are no longer overridden.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions