traduction pathname dans Emacs pour trouver le chemin du fichier de source locale de télécommande (compilation ssh) les noms de fichiers d'erreur

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

Question

Y at-il une sorte de chemin-rewriting / installation normalisant générale je peux exploiter Emacs pour permettre aux fichiers sources dans la compilation en mode à traduire à des chemins locaux basés sur des chemins éloignés? J'espérais d'utiliser des liens symboliques, mais qui ne fonctionne pas pour moi dans Windows.

Je suis en cours d'exécution GNU Emacs 23.1.1, et ont essayé Cygwin montage et W32-symlinks.el (avec (customize-option 'w32-symlinks-handle-shortcuts)); Je ne peux pas obtenir de fichiers ouverts / DIRED / OU complétions en mode compilation nouvelle erreur de suivre soit des raccourcis de fenêtres ou les liens symboliques Cygwin.

Je suis à distance la compilation (sur ssh) et les avertissements / erreurs donner les noms de fichiers pour lesquels le préfixe des noms de fichiers absolus (par exemple /nfs/topaz) sur les besoins hôte distant doit être remplacé par un autre chemin (de z:/, en fait), qui J'espérais voir avec les liens symboliques.

/ ne va à (se onglet expansées dans emacs) c:/cygwin et ~ à z:/ (mon $HOME).

Ce que je veux espérer est soit: une solution pour la résolution de symlink (complétion ou ouvrir un raccourci windows me met le fichier .lnk et non ce qu'il pointe vers), ou la capacité de fournir une liste des réécritures pour les préfixes de noms de fichiers. Jonctions ne sont pas une option, car le chemin de remplacement que je veux est sur un autre lecteur (il est aussi un support Samba).

Était-ce utile?

La solution

Il est également utile dans d'autres environnements de construction compliqué: J'utilise OpenWRT, et les copies de processus de construction (ou extraits) le code source dans un répertoire de construction séparé dans lequel la compilation se produit. Alors naïvement les noms de fichiers suivants dans la mémoire tampon de compilation emacs conduit à modifier les copies temporaires, pas les originaux. Dangereux.

Autres conseils

Voici une solution partielle:

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

etc. Bien sûr, je dois ajouter des dizaines de pistes, mais il est une énorme amélioration (la prochaine erreur fonctionne en fait maintenant!)

Après relisant plusieurs fois, je ne suis toujours pas tout à fait sûr de ce que votre situation est - Est-ce que vous compilez à distance et l'édition locale? Si oui, il semble que vous devriez essayer de faire les deux tâches sur la même machine, ou peut-être essayer clochard mode dans emacs. Je ne vois pas un moyen facile de traduire un chemin d'accès distant à un local.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top