L'integrazione di Hlint con EMAC non funziona alla nuova macchina
Domanda
Uso hlint da Emacs con Emacs con HS-Lint.el nel modo esattamente descritto nel collegamento.
Hlint vive nella mia directory ~/.cabal/bin, che è sul mio percorso $, e tutto funziona come previsto quando lo chiamo dalla riga di comando. Quando l'ho impostato su una nuova macchina e ho provato a invocarlo all'interno di Emacs, tuttavia, ricevo il seguente messaggio nel minibuffer:
error in process sentinel: Moved past last error
e quanto segue in un *hs-lint*
respingente:
-*- mode: hs-lint; default-directory: "/home/wvoq/project/" -*-
HLint started at Fri Jan 13 02:48:53
hlint /home/wvoq/project/myfile.hs
/bin/bash: hlint: command not found
HLint exited abnormally with code 127 at Fri Jan 13 02:48:53
Dalla mia comprensione, non c'è motivo per cui Bash dovrebbe avere difficoltà a trovare Hlint. È lì?
Grazie in anticipo per eventuali suggerimenti.
Soluzione
Se lanci Emacs da un collegamento desktop il PATH
che ha non è il PATH
che il tuo guscio ha. Se lanci Emacs da una shell, dovresti essere in grado di confermare che questo è il problema. Ci sono molti modi per risolverlo. Ad esempio, su OS X puoi aggiungere variabili di ambiente a ~/.MacOSX/environment.plist
. Oppure puoi impostare PATH
Inside Emacs con qualcosa di simile:
(setenv "PATH" (concat "~/.cabal/bin:" (getenv "PATH")))
(add-to-list 'exec-path "~/.cabal/bin")