diff --git a/NEWS b/NEWS index cf9f5f1b9..4d1c71c64 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,12 @@ For full details, see the git log at: https://github.com/ksh93/ksh/tree/1.0 Any uppercase BUG_* names are modernish shell bug IDs. +2022-01-28: + +- Fixed longstanding job control breakage that occurred on the interactive + shell when suspending (Ctrl+Z) an external command invoked by a dot script + or POSIX shell function. + 2022-01-26: - On Cygwin, ksh now executes scripts that do not have a #! path itself, diff --git a/src/cmd/ksh93/include/version.h b/src/cmd/ksh93/include/version.h index 7443e29f0..55be850f8 100644 --- a/src/cmd/ksh93/include/version.h +++ b/src/cmd/ksh93/include/version.h @@ -21,7 +21,7 @@ #define SH_RELEASE_FORK "93u+m" /* only change if you develop a new ksh93 fork */ #define SH_RELEASE_SVER "1.0.0-beta.2" /* semantic version number: https://semver.org */ -#define SH_RELEASE_DATE "2022-01-26" /* must be in this format for $((.sh.version)) */ +#define SH_RELEASE_DATE "2022-01-28" /* must be in this format for $((.sh.version)) */ #define SH_RELEASE_CPYR "(c) 2020-2022 Contributors to ksh " SH_RELEASE_FORK /* Scripts sometimes field-split ${.sh.version}, so don't change amount of whitespace. */ diff --git a/src/cmd/ksh93/sh/xec.c b/src/cmd/ksh93/sh/xec.c index bafcc23d4..eb594cb1a 100644 --- a/src/cmd/ksh93/sh/xec.c +++ b/src/cmd/ksh93/sh/xec.c @@ -1586,16 +1586,6 @@ int sh_exec(register const Shnode_t *t, int flags) && !sh.st.trap[SH_ERRTRAP] && ((struct checkpt*)sh.jmplist)->mode!=SH_JMPEVAL && (execflg2 || (execflg && sh.fn_depth==0 && !(pipejob && sh_isoption(SH_PIPEFAIL)))); - if(sh_isstate(SH_PROFILE) || sh.dot_depth) - { - /* disable foreground job monitor */ - if(!(type&FAMP)) - sh_offstate(SH_MONITOR); -#if SHOPT_DEVFD - else if(!(type&FINT)) - sh_offstate(SH_MONITOR); -#endif /* SHOPT_DEVFD */ - } if(no_fork) job.parent=parent=0; else