Skip to content

Commit

Permalink
fish-foreign-env: suppress additional harmless warnings
Browse files Browse the repository at this point in the history
As per #30645, fish with fish-foreign-env prints this
(harmless) warning:

```
set: Tried to change the read-only variable “_”
```

This patch was developed by @rnhmjoj in the aforementioned
issue discussion

(cherry picked from commit edfdc1d)
  • Loading branch information
yrashk authored and grahamc committed Feb 28, 2018
1 parent 3c8ab66 commit fd1d76b
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 6 deletions.
2 changes: 1 addition & 1 deletion pkgs/shells/fish-foreign-env/default.nix
Expand Up @@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
-i $out/share/fish-foreign-env/functions/*
'';

patches = [ ./hide-path-warnings.patch ];
patches = [ ./suppress-harmless-warnings.patch ];

meta = with stdenv.lib; {
description = "A foreign environment interface for Fish shell";
Expand Down
@@ -1,16 +1,23 @@
diff --git a/functions/fenv.apply.fish b/functions/fenv.apply.fish
index 34a25e3..6837e7f 100644
index 34a25e3..3d94135 100644
--- a/functions/fenv.apply.fish
+++ b/functions/fenv.apply.fish
@@ -30,8 +30,9 @@ function fenv.apply
@@ -27,11 +27,17 @@ function fenv.apply
for variable in $variables
set key (echo $variable | sed 's/=.*//')
set value (echo $variable | sed 's/[^=]*=//')
+ set ignore PATH _

if test "$key" = 'PATH'
set value (echo $value | tr ':' '\n')
end

- set -g -x $key $value
+ if contains $key $ignore
+ set -g -x $key $value ^/dev/null
+ else
+ set -g -x $key $value
end
-
- set -g -x $key $value
+ end
+
end
end

0 comments on commit fd1d76b

Please sign in to comment.