首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Emacs:用于自动完成的ac-slime

Emacs:用于自动完成的ac-slime
EN

Stack Overflow用户
提问于 2012-06-28 17:14:21
回答 1查看 2.3K关注 0票数 4

我正在尝试为*.lisp文件添加自动完成。我的黏液设置是:

代码语言:javascript
复制
(add-to-list 'load-path "~/.emacs.d/plugins/slime/")
(setq slime-lisp-implementations
      '((sbcl ("/opt/sbcl/bin/sbcl" "--core" "/opt/sbcl/lib/sbcl/sbcl.core")
              :coding-system utf-8-unix
              :env ("SBCL_HOME=/opt/sbcl/lib/sbcl"))
        (ccl ("/opt/ccl/lx86cl64")
             :coding-system utf-8-unix)))
(require 'slime-autoloads)
(slime-setup '(slime-fancy))

ac-slime设置为:

代码语言:javascript
复制
(require 'ac-slime)
(add-hook 'slime-mode-hook 'set-up-slime-ac)
(add-hook 'slime-repl-mode-hook 'set-up-slime-ac)
(eval-after-load "auto-complete"
  '(add-to-list 'ac-modes 'slime-repl-mode))

每次我在*.lisp文件中输入一个单词,自动补全弹出一些候选词,但在第二个minibuffer输出之后

代码语言:javascript
复制
error in process filter: Reply to canceled synchronous eval request 
tag=slime-result-6-19579 
sexp=(swank:simple-completions "de" (quote "COMMON-LISP-USER"))

弹出窗口停留了一段时间。在那之后我可以继续我的选择。

我的问题是如何删除这个错误并卡住?任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-16 10:06:04

(评论太长了)

我还不知道这一切是如何工作的,但我也有同样的问题,我总是可以重现它……我找到了一种变通方法。

我不知道“回复取消的同步eval请求”是什么意思,也不知道是否真的有两个同步eval请求。

如果有两个这样的请求,我不知道是什么导致了它们...

然而,通过改变计时器,在此之前自动完成菜单和弹出菜单显示,我已经能够解决这个问题。

如果我对其求值(比如从我的.emacs文件中):

代码语言:javascript
复制
(setq ac-auto-show-menu 0.1)

然后我就可以可靠地重现你的错误(对我来说,它也会阻塞一段时间)。

如果我稍微修改一下这个值:

代码语言:javascript
复制
(setq ac-auto-show-menu 0.3)

那就没有问题了。

这是一个糟糕的变通办法,我仍然认为在某个地方隐藏着一个严重的(尽管可能很容易修复)潜在的bug。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11241460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档