F_SET(clp, CL_SIGWINCH);
+
+ /* If there was a previous handler, call that. */
+ if (clp->oact[INDX_WINCH].sa_handler)
+ clp->oact[INDX_WINCH].sa_handler(signo);
}
#undef GLOBAL_CLP
Index: external/bsd/nvi/dist/cl/cl_screen.c
===================================================================
RCS file: /cvsroot/src/external/bsd/nvi/dist/cl/cl_screen.c,v
retrieving revision 1.5
diff -p -u -r1.5 cl_screen.c
--- external/bsd/nvi/dist/cl/cl_screen.c 25 Nov 2015 20:25:20 -0000 1.5
+++ external/bsd/nvi/dist/cl/cl_screen.c 27 Aug 2017 13:25:20 -0000
@@ -430,7 +430,7 @@ cl_vi_end(GS *gp)
* Move to the bottom of the window (some endwin implementations don't
* do this for you).
*/
- if (!F_ISSET(clp, CL_IN_EX)) {
+ if (!F_ISSET(clp, CL_IN_EX) && !F_ISSET(gp, G_SRESTART)) {
(void)move(0, 0);
(void)deleteln();
(void)move(LINES - 1, 0);