From fcb8276a81e951afd497c608bda3ae98d5779af7 Mon Sep 17 00:00:00 2001 From: sadan4 <117494111+sadan4@users.noreply.github.com> Date: Sat, 27 Dec 2025 19:04:00 -0500 Subject: [PATCH] PatchHelper: Fix incorrect escape handling (#3194) Co-authored-by: V --- src/utils/patches.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/utils/patches.ts b/src/utils/patches.ts index b212e6241..6b59786ed 100644 --- a/src/utils/patches.ts +++ b/src/utils/patches.ts @@ -40,7 +40,11 @@ export function canonicalizeMatch(match: T): T { return partialCanon as T; } - const canonSource = partialCanon.replaceAll("\\i", String.raw`(?:[A-Za-z_$][\w$]*)`); + const canonSource = partialCanon.replaceAll(/(\\*)\\i/g, (match, leadingEscapes) => + leadingEscapes.length % 2 === 0 + ? `${leadingEscapes}${String.raw`(?:[A-Za-z_$][\w$]*)`}` + : match.slice(1) + ); const canonRegex = new RegExp(canonSource, match.flags); canonRegex.toString = match.toString.bind(match);