From f3560b8e626a528f2b5cc167c00d610ab9546b82 Mon Sep 17 00:00:00 2001 From: ridiculousfish Date: Fri, 12 Jun 2015 16:05:59 -0700 Subject: Correctly un-export an env var when it is shadowed Prior to this fix, if you exported a variable in one scope and then unexported it in the next, it would remain exported. Example: set -gx VAR 1 function foo; set -l VAR; env; end foo Here 'VAR' would be exported to 'env' because we failed to notice that the env var is shadowed by an unexported variable. This occurred at env var computation time, not in env_set! Fixes #2132 --- tests/test3.out | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tests/test3.out') diff --git a/tests/test3.out b/tests/test3.out index a6d5d3ac..806ea708 100644 --- a/tests/test3.out +++ b/tests/test3.out @@ -16,6 +16,8 @@ Test 15 pass Foo change detected Foo change detected Test 16 pass +__fish_test_env17=UNSHADOWED +SHADOWED Testing Universal Startup 1 1 -- cgit v1.2.3