python / python/cpython

New REPL: Text display corruption when resizing terminal with multi-line content

Aberta
#132,267 5 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

stdlib topic-repl type-bug
Linguagem predominante
Python
Estrelas
77.2k
Forks
35.9k
Métricas de merge de PRs
Métricas de PR pendentes

Descrição

Bug report

Bug description:

When the REPL is displaying long content that wraps across multiple lines, resizing the terminal window (either making it larger or smaller) causes text to display incorrectly. The line continuation markers become misaligned, and parts of the output text overlap or display in unexpected positions.

Image

Using Ctrl+'+' to zoom in

Image

Using Ctrl+'-' to zoom out

Image

CPython versions tested on:

CPython main branch

Operating systems tested on:

Linux

Linked PRs
  • gh-132313
  • gh-132360

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Revise primeiro os PRs vinculados gh-132313 e gh-132360, pois a issue indica que o trabalho foi movido para lá. Reproduza a corrupção no New REPL no Linux redimensionando o terminal enquanto um conteúdo longo com quebra de linha é exibido e, em seguida, compare o comportamento com esses PRs. O trabalho estará concluído quando os marcadores de continuação e o texto quebrado permanecerem corretamente alinhados após o redimensionamento.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
python
Domínio
cli
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
20/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.