python / python/cpython

Pasting zero-width characters into PyREPL results in incorrect cursor position

Aperta
#139,246 16 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

stdlib topic-repl type-bug
Lingua principale
Python
Stelle
77.2k
Fork
35.9k
Metriche di merge delle PR
Metriche PR in attesa

Descrizione

Bug report

Bug description:

To reproduce

Tested with Python 3.14 rc3 on Linux

  1. Open the new REPL
  2. Paste: ééééé

The paste-able string above is five letter 'e's each followed by \u0301. To create it use:

print('e\u0301' * 5)

The \u0301 is a combining mark with zero-width display length

Current behavior

The cursor position is five spaces after the pasted string

Expected behavior

The cursor position is immediately after the pasted string

CPython versions tested on:

3.14

Operating systems tested on:

Linux

Linked PRs
  • gh-139254
  • gh-140796
  • gh-141166

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia con la nuova riproduzione del REPL su Linux, incolla la stringa con segni combinanti descritta nell’issue e controlla la posizione del cursore in seguito. Esamina le PR collegate gh-139254, gh-140796 e gh-141166 prima di procedere; l’attività è completata quando il cursore si trova immediatamente dopo la stringa incollata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
cli
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.