diff --git a/NEWS b/NEWS index e581a8f29..7cc1f0622 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,9 @@ Any uppercase BUG_* names are modernish shell bug IDs. - Fixed a bug where a reproducible $RANDOM sequence (after assigning a specific value to $RANDOM) was influenced by running any external command. +- When an error occurs in a POSIX name() function or a dot script, the + function or script name is now reported in the error message. + 2022-07-14: - Fixed a bug that caused a spurious "Done" message on the interactive shell diff --git a/src/cmd/ksh93/bltins/misc.c b/src/cmd/ksh93/bltins/misc.c index 1851fabba..d8574dfb9 100644 --- a/src/cmd/ksh93/bltins/misc.c +++ b/src/cmd/ksh93/bltins/misc.c @@ -305,6 +305,8 @@ int b_dot_cmd(register int n,char *argv[],Shbltin_t *context) if(np || argv[1]) argsave = sh_argnew(argv,&saveargfor); sh_pushcontext(&buff,SH_JMPDOT); + errorpush(&buff.err,0); + error_info.id = argv[0]; jmpval = sigsetjmp(buff.buff,0); if(jmpval == 0) {