diff --git a/src/os_unix.c b/src/os_unix.c index 9930680429..0af6016bb4 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -868,10 +868,11 @@ sig_tstp SIGDEFARG(sigarg) signal(SIGTSTP, ignore_sigtstp ? SIG_IGN : SIG_DFL); raise(sigarg); } + else + got_tstp = TRUE; // this is not required on all systems, but it doesn't hurt anybody signal(SIGTSTP, (RETSIGTYPE (*)())sig_tstp); - got_tstp = TRUE; SIGRETURN; } #endif @@ -6414,6 +6415,7 @@ select_eintr: if (got_tstp && !in_mch_suspend) { exarg_T ea; + ea.forceit = TRUE; ex_stop(&ea); got_tstp = FALSE; diff --git a/src/version.c b/src/version.c index 5eacff8af2..3e693de1ba 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 4195, /**/ 4194, /**/