From 1fdbfc1a277a788f8317ed47fccda22c587d3363 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 4 Jul 2026 15:26:26 +0900 Subject: fix(pcre): restore missing regex delimiters in ported patterns Several Preg::*() call sites lost their PHP delimiter (and in one case the `i` modifier) during porting, since preg_*() expects the delimiter to be preserved in the caller's pattern literal and stripped internally. This made compile_php_pattern panic or silently misparse the pattern. Un-ignore the Version tests that were blocked by this bug. --- crates/shirabe/src/self_update/versions.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'crates/shirabe/src/self_update/versions.rs') diff --git a/crates/shirabe/src/self_update/versions.rs b/crates/shirabe/src/self_update/versions.rs index 9d7dfa2..856d16f 100644 --- a/crates/shirabe/src/self_update/versions.rs +++ b/crates/shirabe/src/self_update/versions.rs @@ -94,7 +94,7 @@ impl Versions { self.channel = Some(channel.clone()); // rewrite '2' and '1' channels to stable for future self-updates, but LTS ones like '2.2' remain pinned - let stored_channel = if Preg::is_match(r"^\d+$", &channel) { + let stored_channel = if Preg::is_match(r"{^\d+$}D", &channel) { "stable".to_string() } else { channel.clone() -- cgit v1.3.1