python / python/cpython

CTRL+C/KeyboardInterrupt in editline not working properly on macOS REPL

Aperta
#100,610 2 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

OS-mac topic-repl type-bug
Lingua principale
Python
Stelle
77.2k
Fork
36k
Metriche di merge delle PR
Metriche PR in attesa

Descrizione

Bug report

With the following in ~/.editrc:

bind "^R" em-inc-search-prev

Pressing CTRL+R inside the macOS-bundled python (/usr/bin/python3, which is compiled against editline) to enter editline history, and then pressing CTRL+C does not properly remove "bck" and does not write KeyboardInterrupt until CTRL+C is pressed two more times for a total of three times.

In other words, inside an editline history search, CTRL+C needs to be sent three times to get back to the normal REPL state.

This video may help with understanding the issue: https://github.com/Homebrew/homebrew-core/issues/118869#issuecomment-1365364374

Your environment

  • CPython versions tested on: 3.9.6
  • Operating system and architecture: macOS Monterey 12.6.1 / M1 / arm64

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

Riproduci il problema nella REPL /usr/bin/python3 fornita con macOS usando il binding ~/.editrc indicato, quindi traccia i punti di ingresso della ricerca nella cronologia di editline e della gestione di CTRL+C. Il lavoro è completato quando un solo CTRL+C esce correttamente dalla ricerca nella cronologia e scrive KeyboardInterrupt invece di richiedere tre pressioni.

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

Valutazione

Stack tecnologico
python
Ambito
cli, operating-systems
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.