我的工作计算机(Ubuntu 8.10)安装了 CEDET 版本 1.0pre4,我正在尝试在我的本地目录中安装最新版本的 CEDET(1.0pre6)(最终目标是将 ECB 升级到最新版本)。
不幸的是,默认的 debian/ubuntu 安装在调用我的 .emacs 文件之前初始化了 CEDET 和 ECB 的系统范围的包,然后我尝试加载 1.0pre6 文件尝试使用未在 1.0pre4 中定义的符号时抛出错误。(有关其他人报告相同问题的信息,请参阅此邮件列表线程。)
我首先尝试手动重新加载 CEDET 在我的 .emacs 中提供的包,但其中一个无法重新加载两次。
我现在正在尝试unload-feature
命令。当我尝试卸载 CEDET 时,出现错误:
Lisp error: (error "Loaded libraries (\"/etc/emacs/site-start.d/55ecb.el\") depend on /usr/share/emacs22/site-lisp/cedet-common/cedet.elc")
但是没有ecb
要卸载的功能。ecb-autoloads
/etc/emacs/site-start.d/55ecb.el 似乎提供了一个功能,但该库似乎也依赖于它。
我想我可以以某种方式让 Emacs 卸载系统范围的 ECB,或者我可以以某种方式将系统范围配置中的大部分内容添加到我的 .emacs 文件的顶部,从而删除 ECB 和 CEDET 加载。
后者听起来混乱、丑陋和不稳定。如果我知道怎么做,我宁愿做前者。或者也许有人对这个问题有更好的解决方案?