From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Merlin Moncure <mmoncure(at)gmail(dot)com> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: fix for readline terminal size problems when window is resized with open pager |
Date: | 2015-12-16 20:12:44 |
Message-ID: | 17046.1450296764@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Merlin Moncure <mmoncure(at)gmail(dot)com> writes:
> On Wed, Dec 16, 2015 at 1:29 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> So I now think that print.c shouldn't be involved at all, and the right
>> thing to do is just have gets_interactive() invoke the resize function
>> immediately before calling readline(). That will still leave a window
>> for SIGWINCH to be missed, but it's a pretty tiny one.
> right -- agreed.
I tried that and found out that the first call dumps core because readline
hasn't been initialized yet. To fix that, we need an explicit call to
rl_initialize() instead of depending on readline() to do it for us.
So I arrive at the attached modified patch.
>> And somebody oughta report this as a libreadline bug ...
> See https://bugs.python.org/issue23735 for background. Apparently
> this is expected behavior (and we are far from the only ones
> complaining about it):
> "And so we reach where we are. If a SIGWINCH arrives while readline is
> not active, and the application using callback mode does not catch it and
> tell readline about the updated screen dimensions (rl_set_screen_size()
> exists for this purpose), readline will not know about the new size."
Meh. At the very least, this is a serious documentation failure on their
part, because their docs about interrupt handling look exactly the same
as before, to wit saying exactly the opposite of this.
regards, tom lane
Attachment | Content-Type | Size |
---|---|---|
readline-resize-fix.patch | text/x-diff | 2.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2015-12-16 20:28:34 | Re: Should TIDs be typbyval = FLOAT8PASSBYVAL to speed up CREATE INDEX CONCURRENTLY? |
Previous Message | Tom Lane | 2015-12-16 20:04:08 | Re: fix for readline terminal size problems when window is resized with open pager |