【问题标题】:Emacs stuck on infinite loop when trying to use ghc-mod尝试使用 ghc-mod 时 Emacs 陷入无限循环
【发布时间】:2015-08-20 00:44:12
【问题描述】:

过去几天我一直在尝试学习 Haskell,所以终于到了设置我的环境的时候了。因此,我安装了 Haskell Platform 和 cabal。

我的编辑器是 emacs,我的操作系统是 Windows。

我从 github 下载了 ghc-mod 的 master 分支,并使用 cabal 安装了依赖项,然后构建了项目。一切正常,可执行文件似乎可以工作。

ghc-mod --versionghc-mod boot 等命令按预期工作。

然后,我在 emacs 上安装了 haskell-mode 并修改了 .emacs 以使用 ghc。但是当我试图打开一个 Haskell 文件时,emacs 冻结说“正在初始化...”。

有什么问题?

GHC 版本:7.10.2 cabal 版本:1.22.6.0 使用 cabal 库的 1.22.4.0 版本 ghc-mod 版本:由 GHC 7.10.2 编译的 5.3.0.0

编辑 1:16/8/2015 11:10

这是我添加到.emacs 的行:

; haskell-mode
(add-hook 'haskell-mode-hook 'haskell-indentation-mode)

; ghc-mod for haskell
; I added to list path to ghc elisp file because I read somewhere that that's
; better than installing it from MELPA. I DID try to install it from melpa
; though. Didn't solve anything.
(add-to-list `load-path "~/cabal/x86_64-windows-ghc-7.10.2/ghc-mod-5.3.0.0/elisp")

(autoload 'ghc-init "ghc" nil t)
(autoload 'ghc-debug "ghc" nil t)
(add-hook 'haskell-mode-hook (lambda () (ghc-init)))

当我第一次尝试打开一个 haskell 文件时,Emacs 冻结。所以我猜它在ghc-init()内部无限循环。

编辑 2:16/8/2015 21:16

ghc-debug 的输出是 here

【问题讨论】:

  • 没有足够的信息,我猜,但也许它会为熟悉ghc* 的人敲响警钟。否则,请尝试提供具体的分步方法来重现问题,包括从emacs -Q 开始的所有步骤。
  • @Drew 这可能看起来不完整,但我真的没有更多信息可以提供。我刚刚安装了ghc-mod,当我尝试打开一个 Haskell 文件时,它就冻结了。当我想添加 ghc-mod 时,我会将添加到 .emacs 的行添加到我的帖子中。
  • 仅供参考,`load-path 的实例通常会使用常规的' 引用而不是反引号。 (不过,这似乎是一个标准的反引号,所以在功能上这实际上不是问题。)
  • @phils 感谢您的提示。但是,是的,这不是问题所在。加载路径正常工作。

标签: haskell emacs ghc-mod


【解决方案1】:

我在ghc-modgithub repo 上打开了一个问题,他们解决了这个问题。

您可以在this问题的cmets中查看解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-13
    • 2020-05-04
    相关资源
    最近更新 更多