python / python/cpython

venv: activate.fish breaks prompt (prints directory) due to "echo 'exit $old_status' | ." line

Offen
#140,006 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

stdlib topic-venv type-bug
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
35.9k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

Bug report

Bug description:
python3 -m venv test
source test/bin/activate.fish

causes ls-like output on every command.

Fix in venv/scripts/common/activate.fish:

        # Output the original/"old" prompt.
        _old_fish_prompt
        # Restore the return status of the previous command.
       return $old_status

fish, version 4.1.2

CPython versions tested on:

CPython main branch

Operating systems tested on:

Linux

Linked PRs
  • gh-144558
  • gh-150936

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere das Problem mit python3 -m venv test und source test/bin/activate.fish, und untersuche venv/scripts/common/activate.fish im Bereich der Prompt-Wiederherstellung und der Behandlung des Rückgabestatus. Vergleiche die vorgeschlagene Änderung mit den verknüpften PRs gh-144558 und gh-150936; abgeschlossen ist die Aufgabe, wenn die Aktivierung der Umgebung keine aussehend wie Verzeichnisse wirkende Ausgabe mehr ausgibt und dabei der Status des vorherigen Befehls erhalten bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
fish, python
Bereich
tooling
Issue-Typ
Bug
Schwierigkeit
1/5
Geschätzter Aufwand
Unter einer Stunde
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.