--- a/src/eval.c +++ b/src/eval.c @@ -875,7 +875,7 @@ raise: break; case CMDFUNCTION: - poplocalvars(1); + listsetvar(varlist.list, VEXPORT|VSTACK); if (evalfun(cmdentry.u.func, argc, argv, flags)) goto raise; break;