Tradução caminho em Emacs para encontrar o caminho do arquivo fonte local da remota (compilação ssh) nomes de arquivos de erro

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

Pergunta

Existe algum tipo de facilidade geral-reescrever caminho / normalizando posso explorar no Emacs para permitir que arquivos de origem em modo de compilação a ser traduzido para caminhos locais com base em caminhos remotos? Eu estava esperando para usar links simbólicos, mas que não está funcionando para mim no Windows.

Estou executando GNU Emacs 23.1.1, e de ter tentado cygwin de montagem e w32-symlinks.el (com (customize-option 'w32-symlinks-handle-shortcuts)); Eu não posso conseguir abrir-file / dired / conclusões ou modo de compilação seguinte erro para seguir qualquer atalhos do Windows ou cygwin links simbólicos.

Estou remotamente a compilação (via ssh) e os avisos / erros dar nomes de arquivos onde um prefixo dos caminhos absolutos (por exemplo /nfs/topaz) nas necessidades host remoto para ser substituído por um caminho diferente (z:/, na verdade), que Eu estava esperando para fazer com links simbólicos.

/ não ir para (no emacs expandiu-guia recebe) c:/cygwin e ~ para z:/ (meu $HOME).

O que eu estou esperando é: uma correção para a resolução de link simbólico (a conclusão de tabulação ou a abertura de uma janela de atalho me recebe o arquivo .lnk e não o que ele aponta para), ou a capacidade de fornecer uma lista de regravações para prefixos de caminhos. Junções não são uma opção porque o caminho de substituição que eu quero é em uma unidade diferente (é também um Samba de montagem).

Foi útil?

Solução

Isso também é útil em outros ambientes de compilação complicada: Eu uso OpenWRT, e o processo de construção cópias (ou extractos) código-fonte para uma pasta de compilação separada na qual compilação ocorre. Então, ingenuamente seguintes nomes de arquivo no emacs compilação tampão leads para editar as cópias temporárias, não os originais. Perigoso.

Outras dicas

Aqui está uma solução parcial:

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

etc. Claro, eu tenho que adicionar dezenas de caminhos, mas é uma melhoria enorme (ao lado de erros realmente funciona agora!)

Depois de reler algumas vezes, eu ainda não estou completamente certo o que sua situação é - Você está compilando remotamente e editar localmente? Se assim for, parece que você deve tentar fazer ambas as tarefas na mesma máquina, ou talvez tente tramp modo no emacs. Eu simplesmente não consigo ver uma maneira fácil de traduzir um caminho remoto para um local.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top