Skip to content

RegExp modifier groups: (?i:) should affect \w, \b, \W, \B #613

@frostney

Description

@frostney

Summary

When ignoreCase is enabled via (?i:...), word-class escapes and word boundary assertions should use case-insensitive classification.

Why

6 test262 regexp-modifiers tests fail for \b, \w, \B, \W, \P{} inside (?i:...).

Current behavior

(?i:\b) uses the same word boundary classification as \b outside the modifier group.

Expected behavior

\b inside (?i:...) treats case-equivalent characters as word characters per Unicode case folding.

Scope notes

  • Encode ignoreCase state in RX_ASSERT_WORD Bx, like RX_ASSERT_START encodes multiline
  • Goccia.RegExp.Compiler.pas CompileEscapeAtom and AddBuiltinCharClass

Metadata

Metadata

Assignees

No one assigned

    Labels

    engineTGocciaEngine: language semantics, ECMAScript built-ins, parser, interpreter, bytecode VMspec complianceMismatch against official JavaScript/TypeScript specification

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions