Running Pyflakes aus der Ferne mit Flymake und Tramp in Emacs?

Ich versuche, Flymake zu verwenden, um Pyflakes auszuführen, wie vorgeschlagenHie

Dies funktioniert gut für lokale Dateien und fast für entfernte Dateien mit ein wenig Optimierungsaufwand, aber ich habe das Problem, dass flymake / pyflakes den Puffer beim Ausführen "modifiziert" (obwohl sich eigentlich nichts zu ändern scheint) macht es in der Praxis etwas unbrauchbar (z. B. beim Speichern einer Datei wird flymake ausgeführt, wodurch der Puffer sofort wieder geändert wird).

Hier ist, was ich getan habe, um es fast zum Laufen zu bringen:

Installierte Pyflakes auf der Remote-Box.Customized mytramp-remote-process-environment Variable, so dass Pyflakes in seinem PATH gefunden werden konntenBenutzte eine Variante des Codes aus dem obigen Wiki-Link. Offensichtlich habe ich die Prüfung ausgeschlossen, die sie für entfernte Puffer deaktiviert. Auch die(when (load "flymake" t) ...) construct schien nicht so zu funktionieren, wie ich es erwartet hatte, aber ich mache mir darüber keine allzu großen Sorgen. Neu definiert (zu Testzwecken - Ratschläge sollten in Ordnung sein, wenn dies funktioniert)flymake-start-syntax-check-process Funktion, so dass es @ verwendstart-file-process (was mit tramp funktioniert) anstelle vonstart-process (was nicht der Fall ist).

Die Änderung in # 4 scheint keine Probleme bei der Verarbeitung einer lokalen Datei zu verursachen. Dadurch kann Flymake jedoch die Remote-Pyflakes für die Remote-Dateien ausführen (Fehler werden wie erwartet hervorgehoben). In diesem Fall wird der Puffer geändert 'wann immer flymake läuft.

Ich vermute, dassstart-file-process führt bei fernen Prozessen zu einigen zusätzlichen Rückgabewerten / -daten, die bei lokalen Prozessen nicht auftreten.

Hat jemand einen Einblick / Rat?

Emacs 23.1 und 23.2 unter UbuntuPython 2.4.6Pyflakes 0.4.0 (über easy_install)

Antworten auf die Frage(4)

Ihre Antwort auf die Frage