about summary refs log tree commit diff
path: root/Test
diff options
context:
space:
mode:
authorPeter Stephenson <p.stephenson@samsung.com>2019-08-14 15:16:59 +0100
committerPeter Stephenson <p.stephenson@samsung.com>2019-08-14 15:16:59 +0100
commitd946f22a4cd2eed0f3a67881cfa57c805703929c (patch)
tree2f8bb4ca14cd15f5c8d61d2d2a6408a9c14534c3 /Test
parent4fae52572699770fdf4af6bc94d8b219cb401ad2 (diff)
downloadzsh-d946f22a4cd2eed0f3a67881cfa57c805703929c.tar.gz
zsh-d946f22a4cd2eed0f3a67881cfa57c805703929c.tar.xz
zsh-d946f22a4cd2eed0f3a67881cfa57c805703929c.zip
44664: Fix problem with temporary assignment.
"foo=bar builtin" inside a function lost any variable from
enclosing scope.
Diffstat (limited to 'Test')
-rw-r--r--Test/D04parameter.ztst12
1 files changed, 12 insertions, 0 deletions
diff --git a/Test/D04parameter.ztst b/Test/D04parameter.ztst
index 194c3e287..b6e85a9fe 100644
--- a/Test/D04parameter.ztst
+++ b/Test/D04parameter.ztst
@@ -2522,3 +2522,15 @@ F:behavior, see http://austingroupbugs.net/view.php?id=888
 >trailing/slashes
 >removed
 >are/removed
+
+ foo=global-value
+ fn() {
+    local foo=function-value
+    foo=export-value true
+    print $foo
+ }
+ fn
+ print $foo
+0:Global variables are not trashed by "foo=bar builtin" (regression test)
+>function-value
+>global-value