bug-readline
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: psql: Buggy interactions with wraparound in maximized gnome terminal


From: Tom Lane
Subject: Re: psql: Buggy interactions with wraparound in maximized gnome terminals.
Date: Sat, 21 Dec 2019 16:40:29 -0500

Chet Ramey <address@hidden> writes:
> On 12/20/19 4:48 PM, Tomas Zubiri wrote:
>> This is probably hard to reproduce, but I entered a state where the
>> command I was writing was wrapping around at the 81st character while
>> in full screen,  and the 1st character was being overwritten.This did
>> not affect the command sent to the server, but I would not have a way
>> to see what command I just entered.

> It seems like the readline SIGWINCH handler, which causes it to update its
> idea of the screen dimensions, isn't being called. I can't reproduce this
> using readline and bash, and I don't know what postgres does with its
> signal handling, or how it configures readline's signal handling (I assume
> it doesn't do anything special).

We don't touch SIGWINCH at all, so if readline sets up a handler for that,
it ought to behave as expected.

I notice though that we do this just before each readline() call:

        /*
         * Some versions of readline don't notice SIGWINCH signals that arrive
         * when not actively reading input.  The simplest fix is to always
         * re-read the terminal size.  This leaves a window for SIGWINCH to be
         * missed between here and where readline() enables libreadline's
         * signal handler, but that's probably short enough to be ignored.
         */
#ifdef HAVE_RL_RESET_SCREEN_SIZE
        rl_reset_screen_size();
#endif

Is it conceivable that that bollixes things somehow, on some builds?
(I don't think the OP specified which readline and/or Postgres version
he was using.)

                        regards, tom lane



reply via email to

[Prev in Thread] Current Thread [Next in Thread]