【发布时间】:2013-08-30 08:08:31
【问题描述】:
我正面临一种非常奇怪的行为。无论我如何设置ac-auto-start,无论是通过自定义,还是在我完成后立即评估(setq ac-auto-start 2)、(setq-default ac-auto-start 2) 或(setq-local ac-auto-start 2),变量都会设置为nil。
我查看了auto-complete 模式和ac-slime 的来源,但这些都对这个变量没有任何作用。我不知道如何处理这个问题。
此故障的有效后果是完成组合框不会自行出现,除非我通过执行 M-x 自动完成 强制它出现。在启用了auto-complete 次要模式的所有模式中,此行为都是一致的。
编辑
这似乎是最新 Emacs 的问题。现在它无法修改变量值,无论它是什么变量。所以,比如说,在使用-Q 运行它之后,我现在发现我无法评估使用(setq ...) 表单的代码,因为它没有任何效果。 :/ 所以,请稍等,我会尝试调查这个...
这是由于打字错误,但原来的问题仍然存在。
Emacs 版本是 24.3.50.1 大约一周前从主干中提取的。
auto-complete 是从 MELPA 安装的 1.4 版。
我通过将点移动到 REPL 缓冲区来设置变量,然后是 M-:。我用同样的方法检查它的值。
EDIT2
好的,我终于找到了原因:我安装了enzyme 包,其中包含auto-complete 的早期版本,出于某种原因,部分auto-complete 代码是从那里加载的,其他部分从 MELPA 安装的那个。禁用enzyme 后,现在一切正常。
EDIT3
我在 REPL 缓冲区中运行 (auto-complete-mode 1) 后仍然会发生这种情况。变量将变得无法设置。我已经搜索了各种可能正在设置某些东西的自动完成计时器,但到目前为止还没有运气。
【问题讨论】:
-
The documentation 暗示,尽管是间接的,只有
t和nil作为该变量的值才有意义。您是否尝试将其设置为t? -
也许发布一些代码或解释您如何检查值等?如果从
emacs -Q开始会发生什么(ac-auto-start的默认值无论如何都是 2,IIUC)?如果您从emacs -Q开始没有看到问题,请将您的初始化文件一分为二,直到您看到导致问题的原因。 -
@AaronMiller:autocomplete.el 的最新稳定版本说整数值也可以,默认值实际上是 2。所以也许 wvxvw 应该澄清使用的版本等。
-
@Drew 这似乎是
setq的问题,我正试图找出到底出了什么问题。 -
...这就是我在升级之前等待稳定版本的原因;处于流血边缘的问题是你往往会流血。
标签: emacs autocomplete