Chet: I think the patch below could be a useful addition, to make the behavior in this case a little bit less surprising.
*** /tmp/BdLnYa_shopt.def 2017-06-24 10:21:15.029707643 -0500 --- builtins/shopt.def 2017-06-24 10:17:00.540600773 -0500 *************** *** 134,139 **** --- 134,140 ---- static int shopt_set_complete_direxpand __P((char *, int)); #endif + static int shopt_set_check_window_size __P((char *, int)); static int shopt_set_debug_mode __P((char *, int)); static int shopt_login_shell; *************** *** 164,170 **** #if defined (JOB_CONTROL) { "checkjobs", &check_jobs_at_exit, (shopt_set_func_t *)NULL }, #endif ! { "checkwinsize", &check_window_size, (shopt_set_func_t *)NULL }, #if defined (HISTORY) { "cmdhist", &command_oriented_history, (shopt_set_func_t *)NULL }, #endif --- 165,171 ---- #if defined (JOB_CONTROL) { "checkjobs", &check_jobs_at_exit, (shopt_set_func_t *)NULL }, #endif ! { "checkwinsize", &check_window_size, shopt_set_check_window_size }, #if defined (HISTORY) { "cmdhist", &command_oriented_history, (shopt_set_func_t *)NULL }, #endif *************** *** 593,598 **** --- 594,606 ---- #endif static int + shopt_set_check_window_size (char *option_name, int mode) + { + get_new_window_size (0, (int *)0, (int *)0); + return (0); + } + + static int set_compatibility_level (option_name, mode) char *option_name; int mode; -- Eduardo Bustamante https://dualbus.me/