2010-11-22 10 views
9

Am 6.12.2 funktionierte das nur für mich, denke ich. Aber jetzt bin ich auf einer neuen Box mit 6.12.3 (generische Unix-Binärdatei), und es gibt offensichtlich einige Einstellungen, die ich vermisse.Persistente Konsole Geschichte in Ghci

Ich habe eine Konsole Geschichte in Ghci innerhalb einer einzigen Sitzung (d. H. Ausführung von Ghci), aber dieser Verlauf wird nicht gespeichert und zwischen den Sitzungen neu geladen, wie es einmal war. Ich kann nicht im Auge behalten, ob ghci readline, editline oder haskeline verwendet, daher bin ich nicht ganz sicher, wo ich anfangen soll, um das zu beheben.

Antwort

6

Das könnte nicht viel helfen, aber haben Sie überprüft, ob die Datei ghci_history in ~/.ghc/ghci_history geschrieben wird?

+3

Dies war in der Tat die Antwort:

Die Datei kann in dort zu finden. Aus irgendeinem Grund konnte ghc/ghci das Verzeichnis .ghc nicht erstellen. Ich habe das Verzeichnis erstellt, und jetzt wird mein Verlauf dort gespeichert :-) – sclv

+0

Und was ist das erwartete Verhalten von Ghci? Sollte es versuchen, ~/.ghc zu erstellen, wenn es nicht da ist? Ich habe entdeckt, dass ich auch die Funktion "Persistenter Verlauf" nutzen kann (die ich vorher vermisste), nachdem ich dieses Verzeichnis erstellt habe. Ist es nicht schön, dass ghci (ghc-7.0.1- [alt1] (http://prometheus.altlinux.org/en/Sisyphus/srpms/ghc)) es nicht automatisch erstellt, so dass ich nur gelernt habe * bei Gelegenheit * dass es in GHCi persistent histroy sein kann? –

+1

@imz - Ich habe ein Ticket eingereicht, nachdem ich realisierte, was vor sich ging. Es sollte in 7.0.3 behoben werden: http://hackage.haskell.org/trac/ghc/ticket/4522 – sclv

0

Die Sean Seefried's answer funktioniert nicht in Windows-Systemen, weil Ghc seine Heimat in %APPDATA%\ghci (in meinem Fall C:\Users\me\AppData\Roaming\ghci) hat. ghci_history

+0

Meine Datei' ghci_history' unter Windows ist komplett leer ? Und nichts wird dort gerettet? – CMCDragonkai

+0

@CMCDragonkai Könnte es mit Berechtigungen zusammenhängen? Kann ein normaler Benutzer dort schreiben? Ich hatte damit keine Probleme –