Andres Freund <andres@anarazel.de> writes:
> Hm. rl_reset_screen_size() works well for me. rl_resize_terminal() not
> so much. Apparently the reason for that is that rl_reset_screen_size()
> doesn't set ignore_env to to true when calling
> _rl_get_screen_size(). I've verified that just toggling that parameter
> changes the behaviour.
[ squint... ] What readline version are you using, and do you have
LINES/COLUMNS set in your terminal environment?
As far as I can see in the 6.3 sources, the very first call of
_rl_get_screen_size will cause LINES/COLUMNS to become set from the
results of ioctl(TIOCGWINSZ), assuming that that succeeds, because we
do nothing to alter the default values of rl_prefer_env_winsize (0)
or rl_change_environment (1). After that, it really doesn't matter
whether ignore_env is true or not; this code will track the ioctl
as long as rl_prefer_env_winsize stays 0.
It may be that the echo stuff is not good, but I'm pretty dubious
about ignore_env being the issue.
regards, tom lane