2

我完全按照链接中描述的方式将emacs 中的 hlint 与hs-lint.el一起使用。

hlint 位于我的 $PATH 上的 ~/.cabal/bin 目录中,当我从命令行调用它时,一切都按预期工作。但是,当我在新机器上设置它并尝试在 emacs 中调用它时,我在 minibuffer 中收到以下消息:

error in process sentinel: Moved past last error

以及*hs-lint*缓冲区中的以下内容:

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

据我了解,bash 没有理由在查找 hlint 时遇到困难。在那儿?

在此先感谢您的任何建议。

4

1 回答 1

4

如果您从桌面快捷方式启动 Emacs,PATH那么它所拥有的并不是PATH您的 shell 所拥有的。如果您从 shell 启动 Emacs,您应该能够确认这是问题所在。有很多方法可以修复它。例如,在 OS X 上,您可以将环境变量添加到~/.MacOSX/environment.plist. 或者你可以PATH在 Emacs 中设置如下:

(setenv "PATH" (concat "~/.cabal/bin:" (getenv "PATH")))
(add-to-list 'exec-path "~/.cabal/bin")
于 2012-01-13T23:22:46.483 回答