Emacs是否加载了我的文件两次(.el和.elc)?

时间:2010-01-17 08:13:14

标签: emacs file load

我知道当有.el文件(.elc)的字节编译版本时,emacs会加载第二个(我目前在同一个目录中调整它们)。

当我启动emacs并查看 Message 缓冲区时,我看到了这一点:

Loading c:/Documents and Settings.../App.../.emacs.d/themes/color-theme-example.el (source)...done
Loading c:/Documents and Setting.../App.../.emacs.d/themes/color-theme-example.elc...done
Loading c:/Documents and Settings.../App.../.emacs.d/themes/color-theme-library.el (source)...done
Loading c:/Documents and Settings.../App.../.emacs.d/themes/color-theme-library.elc...done

emacs是否加载了同一文件的.el和.elc版本? 我不希望emacs加载我的插件两次。

在我的.emacs中,我加载了这样的内容:

;;color theme plugin
(add-to-list 'load-path "~/.emacs.d/")
(require 'color-theme)
(eval-after-load "color-theme"
  '(progn
     (color-theme-initialize)
     (color-theme-charcoal-black)))

1 个答案:

答案 0 :(得分:2)

您是使用load-file还是使用require加载颜色主题? require将不会加载已提供其功能的文件,只有在您要显式覆盖该文件时才使用load-file。另一种可能性是color-theme-example和color-theme-library没有使用provide,因此每次要求require时都会再次加载它们 - 但这应该会打印错误( “必需的功能'颜色主题 - 示例不是由加载的文件提供的”或类似的东西。)