出了什么问题?怎样才能让ECB与Emacs Starter Kit一起工作?
ECB安装
我尝试了两种方式:
- 按照这里的描述,将
ecb
添加到my-packages
列表中 - 使用
list-packages
命令安装ecb
两种方式都得到了相同的结果。在安装过程中,我收到了很多警告,比如
In ecb-test-with-original-advice-set:
ecb-advice-test.el:122:16:Warning: reference to free variable `ecb-version'
In ecb-analyse-jump-to-tag:
ecb-analyse.el:443:24:Warning: `interactive-p' is an obsolete function (as of
23.2); use `called-interactively-p' instead.
文件的总大小为807行,我不知道如何将其添加到此处以保持帖子的可读性 :)
ECB使用
当我尝试通过在~/.emacs.d/$USER.el
中添加(require 'ecb)
来启动ECB时,在Emacs启动时会出现以下错误:
File error: Cannot open load file, ecb
变量
load-path
不包含ecb文件的路径。当我在Emacs中没有使用(require 'ecb)
启动时,没有错误,并且load-path
包含字符串"/home/maksim/.emacs.d/elpa/ecb-2.40"
。添加以下行:(add-to-list 'load-path (expand-file-name "~/.emacs.d/elpa/ecb-2.40"))
使Emacs启动不出错,但ECB仍然无法工作,并且ecb-activate
的行为如下所述。
如果我尝试通过调用ecb-activate
来启动ECB,我会在*Messages*
缓冲区中看到以下内容:
ECB 2.40 uses CEDET 1.0 (contains semantic 2.0, eieio 1.3, speedbar <unknown
version>).
ecb-activate-internal: Symbol's value as variable is void: stack-trace-on-error
如果我在
~/.emacs.d/$USER.el
中添加以下行:(setq stack-trace-on-error t)
然后,
ecb-activate
会响应以下内容。ECB 2.40 uses CEDET 1.0 (contains semantic 2.0, eieio 1.3, speedbar <unknown
version>).
All requirements for ECB 2.40 fulfilled - Enjoy it!
The ECB is now deactivated.
ecb-clean-up-after-activation-failure: ECB 2.40: Errors during the basic setup
of ECB. (error-type: void-function, error-data:
(ecb-enable-own-temp-buffer-show-futition))
版本信息
- GNU Emacs 24.0.92.1(x86_64-pc-linux-gnu,GTK+ 2.22.0版)
2011年12月06日在pluot上修改的Debian版本 - emacs-starter-kit 2.0.3
- ecb 2.40
(setq stack-trace-on-error t)
(可能是因为我使用了不同版本的 Emacs)。 - Maksim Zholudev