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