Emacs/lisp/中的Emacs无法识别自己的脚本



我是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)加载的原因。

  1. Emacs是否安装在c:emacs?(即您正在运行的emacs.exe是c:\emacs\bin\emacs.exe)
  2. 是否有什么东西从Emacs外部设置EMACSLOADPATH(您的环境,或在HKEY_LOCAL_MACHINEHKEY_CURRENT_USER /Software/GNU/Emacs下的注册表中)
  3. 您的加载路径上是否安装了旧版本的CEDET
  4. 是否对c:emacslispsubdirs.el进行了编辑以删除割让的子目录

一旦解决了这个问题,请注意,当CEDET被合并到Emacs中以适应对文件名长度有限制的旧系统时,路径发生了更改。但与此同时,自动加载也得到了改进,因此您不需要再明确要求这些文件了。如果你仍然这样做,以下应该有效:

(require 'semantic/ia)
(require 'semantic/bovine/gcc)

最新更新