我是emacs的新手,在Windows上使用的是23.2版本。我正试图让CEDET工作,但当我在.emacs中需要它时,它找不到文件:
File error: Cannot open load file
我能够通过手动加载来获得割让工作
(load "C:/emacs/lisp/cedet/cedet.el")
但我仍然不能要求来自cedet的其他文件,如semantic gcc或semantic ia。
这是我的.emacs文件:
(load "C:/emacs/lisp/cedet/cedet.el")
(global-ede-mode t)
(semantic-mode 1)
;(semantic-load-enable-excessive-code-helpers)
(require 'semantic-ia)
(require 'semantic-gcc)
这就像emacs没有在自己的路径中寻找这些文件,我确实尝试过
(add-to-list 'load-path "C:/emacs/lisp/cedet")
有很多其他变体,但都不起作用。
首先,您需要找到cedet无法用简单的(require 'cedet)
加载的原因。
- Emacs是否安装在
c:emacs
?(即您正在运行的emacs.exe是c:\emacs\bin\emacs.exe) - 是否有什么东西从Emacs外部设置
EMACSLOADPATH
(您的环境,或在HKEY_LOCAL_MACHINE
或HKEY_CURRENT_USER
/Software/GNU/Emacs
下的注册表中) - 您的加载路径上是否安装了旧版本的CEDET
- 是否对
c:emacslispsubdirs.el
进行了编辑以删除割让的子目录
一旦解决了这个问题,请注意,当CEDET被合并到Emacs中以适应对文件名长度有限制的旧系统时,路径发生了更改。但与此同时,自动加载也得到了改进,因此您不需要再明确要求这些文件了。如果你仍然这样做,以下应该有效:
(require 'semantic/ia)
(require 'semantic/bovine/gcc)