4

我正面临一个非常奇怪的行为。无论我如何设置ac-auto-start,无论是通过自定义,通过评估(setq ac-auto-start 2)(setq-default ac-auto-start 2)还是(setq-local ac-auto-start 2)在我完成后立即设置,变量都设置为nil.

我已经查看了auto-completemode 的来源和ac-slime在我的情况下,但这些都没有对这个变量没有任何作用。我不知道如何处理这个问题。

此故障的有效后果是完成组合框不会自行出现,除非我通过做M-x auto-complete. auto-complete在启用了次要模式的所有模式中,此行为都是一致的。

编辑

这似乎是最新 Emacs 的问题。现在它无法修改变量值,无论它是什么变量。所以,比如说,在运行它之后,-Q我现在发现我无法评估使用(setq ...)表单的代码,因为它没有效果。:/ 所以,请稍等,我会尝试调查这个...

这是由于错字,但原来的问题仍然存在。

Emacs 版本是大约一周前从主干中提取的 24.3.50.1。


auto-complete是从 MELPA 安装的 1.4 版。

我通过将点移动到 REPL 缓冲区来设置变量,然后M-:. 我以同样的方式检查它的值。

编辑2

好的,我终于找到了原因:我enzyme安装了包,并且里面有一个早期版本auto-complete,出于某种原因,部分auto-complete代码是从那里加载的,而其他部分是从 MELPA 安装的。禁用后enzyme,现在一切正常。

编辑3

(auto-complete-mode 1)在我在 REPL 缓冲区中运行后,这仍然会发生。变量将变得无法设置。我已经搜索了可能正在设置某些东西的各种自动完成计时器,但到目前为止还没有运气。

4

1 回答 1

0

的设置确实发生了一些奇怪的事情auto-complete-mode

(我在 GNU Emacs 24.3.1 中使用 ELPA 版本)

这是由以下人员设置的customize-group RET auto-complete

 '(ac-auto-show-menu t)
 '(ac-auto-start t)

在这一点上,如果你在 minibuffer 中M-x auto-complete-mode获得了一个权利。[no match]只有在你尝试了之后M-x auto-complete,抛出一个"auto-complete-mode is not enabled"奇怪的错误,你才能M-x auto-complete-mode(但没有命令完成......嗯)然后进入模式。

如果你把它放在你的初始化文件(.emacs)中

(require 'auto-complete)
(auto-complete-mode t)

只有在启动后重新评估它才会有效(?!?)。

与类似的东西相同

(if (auto-complete)
    (auto-complete-mode t))

我发现启动时加载唯一方法是:auto-complete-mode

(eval-and-compile
  (require 'auto-complete nil 'noerror))

(以上customize选项现已生效)

于 2013-11-01T11:31:04.907 回答