summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
authorNaïm Favier <n@monade.li>2022-12-08 13:30:50 +0100
committerGitHub <noreply@github.com>2022-12-08 13:30:50 +0100
commit22af649d146f4bbb369534981d4956b93570af09 (patch)
treee5a2efb159a9b70af20b90f48ecaa566cbf477d4 /lib
parentee2da11b52c703bfcd0b6f5bf816afc433df3610 (diff)
parent3c2124c471814ba196e82e077ac3235c79430b07 (diff)
downloadnixpkgs-22af649d146f4bbb369534981d4956b93570af09.tar
nixpkgs-22af649d146f4bbb369534981d4956b93570af09.tar.gz
nixpkgs-22af649d146f4bbb369534981d4956b93570af09.tar.bz2
nixpkgs-22af649d146f4bbb369534981d4956b93570af09.tar.lz
nixpkgs-22af649d146f4bbb369534981d4956b93570af09.tar.xz
nixpkgs-22af649d146f4bbb369534981d4956b93570af09.tar.zst
nixpkgs-22af649d146f4bbb369534981d4956b93570af09.zip
Merge pull request #204087 from ncfavier/splitString-simplify
Diffstat (limited to 'lib')
-rw-r--r--lib/strings.nix10
1 files changed, 4 insertions, 6 deletions
diff --git a/lib/strings.nix b/lib/strings.nix
index 96dfb779cd6..9a4f29380d0 100644
--- a/lib/strings.nix
+++ b/lib/strings.nix
@@ -510,7 +510,7 @@ rec {
   toUpper = replaceChars lowerChars upperChars;
 
   /* Appends string context from another string.  This is an implementation
-     detail of Nix.
+     detail of Nix and should be used carefully.
 
      Strings in Nix carry an invisible `context` which is a list of strings
      representing store paths.  If the string is later used in a derivation
@@ -533,13 +533,11 @@ rec {
        splitString "/" "/usr/local/bin"
        => [ "" "usr" "local" "bin" ]
   */
-  splitString = _sep: _s:
+  splitString = sep: s:
     let
-      sep = builtins.unsafeDiscardStringContext _sep;
-      s = builtins.unsafeDiscardStringContext _s;
-      splits = builtins.filter builtins.isString (builtins.split (escapeRegex sep) s);
+      splits = builtins.filter builtins.isString (builtins.split (escapeRegex (toString sep)) (toString s));
     in
-      map (v: addContextFrom _sep (addContextFrom _s v)) splits;
+      map (addContextFrom s) splits;
 
   /* Return a string without the specified prefix, if the prefix matches.