Pfadname Übersetzung in Emacs für lokalen Quelldateipfad von entfernten (ssh Kompilierung) Fehler Dateinamen zu finden,

StackOverflow https://stackoverflow.com/questions/1885205

Frage

Gibt es irgendeine Art von allgemeinen Pfadname-Neuschreiben / Normalisieren Anlage I in Emacs ausnutzen kann Quelldateien in der Kompilierung-Modus zu ermöglichen, lokale Pfade basierend auf Remote-Pfaden übersetzt werden? Ich hatte gehofft, symbolische Links zu verwenden, aber das funktioniert nicht für mich in Windows.

Ich bin mit GNU Emacs 23.1.1, und haben versucht, Cygwin-mount und w32-symlinks.el (mit (customize-option 'w32-symlinks-handle-shortcuts)); Ich kann nicht Open-Datei / dired / Vervollständigungen erhalten OR kompilieren-Modus der nächsten Fehler entweder Windows-Verknüpfungen oder Cygwin Symlinks zu folgen.

Ich bin Kompilieren der Ferne (über ssh) und die Warnungen / Fehler geben Dateinamen, wo ein Präfix der absoluten Pfadnamen (zB /nfs/topaz) auf der Remote-Host mit einem anderen Pfad (z:/, in der Tat) ersetzt werden muss, die ich habe gehofft, mit symbolischen Links zu tun.

/ geht (wird Tabula erweitert in Emacs) c:/cygwin und ~ z:/ (mein $HOME).

Was denn ich bin die Hoffnung, entweder: ein Update für Symlink Auflösung (Tabulatorvervollständigung oder eine Windows-Verknüpfung öffnen wird mir die LNK-Datei und nicht das, was er zeigt), oder die Möglichkeit, eine Liste der möglichen Schreibvorgänge für Präfixe zu liefern von Pfadnamen. Junctions sind keine Option, da der Ersatz Weg, den ich auf einem anderen Laufwerk ist wollen (es ist auch ein Samba-mount).

War es hilfreich?

Lösung

Dies ist auch nützlich in anderen komplizierten Build-Umgebungen: Ich benutze OpenWRT, und die Build-Prozess Kopien (oder Auszüge) Quellcode zu einem separaten Build-Verzeichnis, in dem Kompilierung auftritt. So naiv folgende Dateinamen in den Emacs-Kompilation Puffern führt die temporären Kopien zu bearbeiten, nicht die Originale. Gefährlich.

Andere Tipps

Hier ist eine Teillösung:

(custom-set-variables '(compilation-search-path (quote (nil "z:/dir1" "~/dir2"))

usw. Natürlich muß ich Dutzende von Pfaden hinzufügen, aber es ist eine enorme Verbesserung (eigentlich nächste Fehler funktionieren jetzt!)

Nach ein paar Mal neu zu lesen, ich bin immer noch nicht ganz sicher, was Ihre Situation ist - Kompilieren Sie aus der Ferne und Bearbeitung vor Ort? Wenn ja, wie es scheint, sollten Sie versuchen, beide Aufgaben auf der gleichen Maschine zu tun, oder vielleicht versuchen tramp Modus in emacs. Ich habe nicht nur eine einfache Möglichkeit sehe einen Remote-Pfad zu einem lokalen zu übersetzen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top