python / python/cpython

A multi-byte character in new PyREPL requires two backspaces to delete

Ouverte
#142,162 10 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

3.13 3.14 3.15 stdlib topic-repl type-bug
Langage dominant
Python
Étoiles
77.2k
Forks
35.9k
Métriques de merge des PR
Métriques de PR en attente

Description

Bug report

Bug description:

Bug report

To reproduce

  1. Open the new REPL
  2. Paste:
  3. Backspace to remove the pasted character

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

print('e\u0301')

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

Current behavior

Two backspaces are required to remove the displayed character

Expected behavior

One backspace is required to remove the displayed character

This is the behavior in the old REPL

CPython versions tested on:

3.14.0, 3.15.0a2

Operating systems tested on:

Linux

Linked PRs
  • gh-145332

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire le problème dans le nouveau PyREPL avec la chaîne de caractères combinés e\u0301, puis comparez son comportement lors de la suppression avec celui de l'ancien REPL. Le travail est considéré comme terminé lorsqu'une touche de retour arrière supprime le caractère affiché et que le comportement concerné est couvert par un test ; vérifiez d'abord le PR lié gh-145332, car le travail a peut-être déjà commencé.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
cli
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
32/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.