--- /dev/null
+#!/bin/sh
+# test that variables local to function are inherited when another function is called out
+#
+# the whole program should output:
+#---
+#sub: var='var'
+#sub: subvar='subvar'
+#main: var='var'
+#main: subvar='subvar'
+#outer: var=''
+#outer: subvar=''
+#---
+
+sub() {
+ subvar=subvar
+ echo "sub: var='$var'"
+ echo "sub: subvar='$subvar'"
+}
+
+main() {
+ local var=var
+ local subvar
+
+ sub
+ echo "main: var='$var'"
+ echo "main: subvar='$subvar'"
+}
+
+main
+echo "outer: var='$var'"
+echo "outer: subvar='$subvar'"