diff options
author | jade <lix@jade.fyi> | 2024-08-22 18:35:11 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@localhost> | 2024-08-22 18:35:11 +0000 |
commit | 9896d309cbf3e4c0888760981654c1da0b5983a9 (patch) | |
tree | 66e13a5f2a799056e7b60af32ef6d20d922d768b /doc | |
parent | 447212fa65a80180150b265411924cc638a2c52c (diff) |
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
Diffstat (limited to 'doc')
-rw-r--r-- | doc/manual/change-authors.yml | 4 | ||||
-rw-r--r-- | doc/manual/rl-next/boost-regex.md | 37 |
2 files changed, 0 insertions, 41 deletions
diff --git a/doc/manual/change-authors.yml b/doc/manual/change-authors.yml index d9303a747..e18abada1 100644 --- a/doc/manual/change-authors.yml +++ b/doc/manual/change-authors.yml @@ -129,10 +129,6 @@ roberth: display_name: Robert Hensing github: roberth -sugar: - forgejo: sugar - github: sugar700 - thufschmitt: display_name: Théophane Hufschmitt github: thufschmitt 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 - ) - ) - [ ] |