From e81c007adff8e6b6aa2c651c64c3259b417a84b6 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Wed, 8 Apr 2026 11:37:07 -0400 Subject: [PATCH] tweak --- .../src/compiler/phases/1-parse/utils/bracket.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/svelte/src/compiler/phases/1-parse/utils/bracket.js b/packages/svelte/src/compiler/phases/1-parse/utils/bracket.js index 4b86a71aa3..aabbabbc38 100644 --- a/packages/svelte/src/compiler/phases/1-parse/utils/bracket.js +++ b/packages/svelte/src/compiler/phases/1-parse/utils/bracket.js @@ -24,15 +24,19 @@ function find_end(haystack, needle, start) { */ function find_unescaped_char(string, search_start_index, char) { let i = search_start_index; + while (true) { - const found_index = string.indexOf(char, i); - if (found_index === -1) { + i = string.indexOf(char, i); + + if (i === -1) { e.unexpected_eof(string.length); } - if (count_leading_backslashes(string, found_index - 1) % 2 === 0) { - return found_index; + + if (count_leading_backslashes(string, i - 1) % 2 === 0) { + return i; } - i = found_index + 1; + + i += 1; } } @@ -50,7 +54,7 @@ function find_unescaped_char(string, search_start_index, char) { function count_leading_backslashes(string, search_start_index) { let i = search_start_index; let count = 0; - while (string[i] === '\\') { + while (string.charCodeAt(i) === 92) { count++; i--; }