Pregunta

Uso hlint desde dentro de emacs con hs-lint.el de la manera descrita en el enlace.

Hlint vive en mi directorio ~/.cabal/bin, que está en mi ruta $, y todo funciona como se esperaba cuando lo llamo desde la línea de comando. Sin embargo, cuando configuré esto en una nueva máquina e intenté invocarla dentro de Emacs, recibo el siguiente mensaje en el minibuffer:

error in process sentinel: Moved past last error

y lo siguiente en un *hs-lint* buffer:

-*- 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

A mí mismo, no hay razón para que Bash deba tener problemas para encontrar hlint. ¿Esta ahí?

Gracias de antemano por cualquier sugerencia.

¿Fue útil?

Solución

Si inicia emacs desde un atajo de escritorio el PATH que tiene no es el PATH que tu caparazón tiene. Si lanza EMAC desde un shell, debería poder confirmar que este es el problema. Hay muchas formas de solucionarlo. Por ejemplo, en OS X puede agregar variables de entorno a ~/.MacOSX/environment.plist. O puedes configurar PATH Emacs interiores con algo como:

(setenv "PATH" (concat "~/.cabal/bin:" (getenv "PATH")))
(add-to-list 'exec-path "~/.cabal/bin")
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top