diff --git a/Src/exec.c b/Src/exec.c index 3b0e936..719345e 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -4482,6 +4482,11 @@ execfuncdef(Estate state, Eprog redir_prog) shf->node.nam = "(anon)"; pushnode(args, shf->node.nam); + /* Set up special parameter $_ */ + setunderscore((args && nonempty(args)) + ? ((char *) getdata(lastnode(args))) + : ""); + execshfunc(shf, args); ret = lastval;