
Quando inicio o python em um novo terminal gnome 14.04 LTS, ele tem 80 caracteres de largura:
$ python
>>> import os
>>> os.popen('stty size', 'r').read()
'24 80\n'
Quando redimensiono o gnome-terminal, o novo tamanho é relatado:
>>> os.popen('stty size', 'r').read()
'23 170\n'
No entanto, o prompt de entrada python não vê o redimensionamento e começa a sobrescrever o início da linha quando escrevo linhas longas:
nm> 1234567890qwertyuiopåasdfghjklæøzxcvbnm1234567890qwertyuiopåasdfghjklæøzxcvb
Aqui 'nm' está embrulhado.
Uma redefinição no menu do terminal gnome não ajuda. Existe uma maneira de informar ao interpretador python que a janela foi redimensionada?
Responder1
Este é um bug no Python que apareceu desde o lançamento da versão 6.3 do readline. Ubuntu 14.04 tem libreadline6 versão 6.3-4ubuntu2, então 14.04 e todas as versões posteriores do Ubuntu são afetadas.
O bug foi corrigido no Python, mas a correção ainda não está em nenhum lançamento oficial. Consulte o relatório de bug upstreamaqui.
As versões mais recentes no momento da redação deste artigo são 2.7.11 e 3.5.1, portanto, as próximas versões 2.7.12, 3.5.2 e 3.6.0 devem ser corrigidas.