我安装了Emacs入门套件。当我尝试安装和运行ECB时,它不起作用 怎么了?如何让ECB与Emacs Starter Kit一起使用?
我尝试了两种方法:
ecb
添加到my-packages
列表
ecb
命令安装list-packages
两种方式都给出相同的结果。在安装过程中,我收到了很多警告,比如
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行,我不知道如何在此处添加它以保持帖子可读:)
当我尝试通过添加(require 'ecb)
来启动ECB时
到~/.emacs.d/$USER.el
以下错误发生在Emacs start:
File error: Cannot open load file, ecb
变量load-path
不包含ecb文件的路径。当我在没有(require 'ecb)
的情况下启动Emacs时,没有错误,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))
答案 0 :(得分:3)
我遇到了和你一样的问题,我刚刚解决了,这是我的规格:
另外我已经做了@ user1150335用版本号说我不需要更改版本号,因为@ user1150335说。如果我错过了某些内容,或者您需要更多关于配置的信息,请告诉我。
答案 1 :(得分:3)
添加 (setq version-error nil)在ecb-uprade.el中 这意味着没有cedet的版本检查。
正确 (ECB启用 - 拥有 - 临时缓冲 - 展示 - futition) 至 (ECB启用 - 拥有 - 临时缓冲 - 显示功能) 在ecb.el
删除ecb.elc和ecb-upgrade.elc
M-x byte-compile-file ecb.el和ecb-upgrade.el
在.emacs或.emacs.d / init.el中添加(setq stack-trace-on-error t)
M-x ecb-active
答案 2 :(得分:2)
尝试编辑ecb-cedet-required-version-max变量(它位于ecb-cedet-wrapper.el中)。为我工作。 更新: 我不知道你正在使用哪种版本的cedet。但是有一个例子,我是如何做的,一步一步:
由于某些原因,即使在校正之后,堆栈跟踪错误也必须为真。 我用GNU Emacs 24.0.92.1,CEDET版本:1.1beta(最后一次从bzr结账)以及最后一次从cvs签出ecb进行测试。 我现在并不真正使用ecb,但我尝试了ecb-byte-compile,ecb-activate,ecb-deactivate,跳转到ecb windows(方法,dirs,sources),打开cpp和elisp文件。一切正常。
答案 3 :(得分:2)
你应该纠正
(ECB启用-自有临时缓冲 - 显示 - futition)
到
(ECB启用-自有临时缓冲 - 显示功能)
在ecb.el
答案 4 :(得分:2)
github上有一个名为newcedet的新ECB分支。此版本的ECB与新的Emacs版本和CEDET 1.1及更高版本兼容。关于此问题也有discussions on the ECB mailing list。
答案 5 :(得分:1)
安装ecb-snapshot
M-x package-list-packages
并从中选择ecb-snapshot。也把它放在你的〜/ .emacs.d / $ USER.el
上(require 'ecb)
(setq stack-trace-on-error t)