mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
Report POSIX function or dot script name in error messages
An old annoyance of mine: when an error occurs in a ksh function, the function name is reported in the error message, but the same is not done for POSIX functions. Since POSIX functions are treated as glorified dot scripts, b_dot_cmd() needs an errorpush() call and an assignment to error_info.id to make this happen for both POSIX functions and dot scripts. This is the same thing that sh_funscope() does for ksh functions. There is now no difference from ksh functions in how these report errors. Note that the sh_popcontext() macro includes an errorpop() call, so that does not need to be added. See fault.h and error.h.
This commit is contained in:
parent
8264d2089a
commit
6afe659690
2 changed files with 5 additions and 0 deletions
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue