From 9896d309cbf3e4c0888760981654c1da0b5983a9 Mon Sep 17 00:00:00 2001 From: jade Date: Thu, 22 Aug 2024 18:35:11 +0000 Subject: Revert "libexpr: Replace regex engine with boost::regex" This reverts commit 447212fa65a80180150b265411924cc638a2c52c. Reason for revert: Regression in eval behaviour bug-compatibility. Expected behaviour (Nix 2.18.5, macOS and Linux [libstdc++/libc++]): ``` nix-repl> builtins.match "\\.*(.*)" ".keep" [ "keep" ] nix-repl> builtins.match "(\\.*)(.*)" ".keep" [ "." "keep" ] ``` Actual behaviour (boost::regex): ``` nix-repl> builtins.match "\\.*(.*)" ".keep" [ ".keep" ] nix-repl> builtins.match "(\\.*)(.*)" ".keep" [ "." "keep" ] ``` Bug: https://git.lix.systems/lix-project/lix/issues/483 Change-Id: Id462eb8586dcd54856cf095f09b3e3a216955b60 --- doc/manual/rl-next/boost-regex.md | 37 ------------------------------------- 1 file changed, 37 deletions(-) delete mode 100644 doc/manual/rl-next/boost-regex.md (limited to 'doc/manual/rl-next') diff --git a/doc/manual/rl-next/boost-regex.md b/doc/manual/rl-next/boost-regex.md deleted file mode 100644 index c541434d0..000000000 --- a/doc/manual/rl-next/boost-regex.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -synopsis: Replace regex engine with boost::regex -issues: [fj#34, fj#476] -cls: [1821] -category: Fixes -credits: [sugar] ---- - -Previously, the C++ standard regex expression library was used, the -behaviour of which varied depending on the platform. This has been -replaced with the Boost regex library, which works identically across -platforms. - -The visible behaviour of the regex functions doesn't change. While -the new library has more features, Lix will reject regular expressions -using them. - -This also fixes regex matching reporting stack overflow when matching -on too much data. - -Before: - - nix-repl> builtins.match ".*" ( - builtins.concatStringsSep "" ( - builtins.genList (_: "a") 1000000 - ) - ) - error: stack overflow (possible infinite recursion) - -After: - - nix-repl> builtins.match ".*" ( - builtins.concatStringsSep "" ( - builtins.genList (_: "a") 1000000 - ) - ) - [ ] -- cgit v1.2.3