Загружает ли Emacs мои файлы дважды (и .el, и .elc)? - PullRequest
4 голосов
/ 17 января 2010

Я знаю, что когда есть байт-скомпилированная версия файла .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 Ответ

2 голосов
/ 17 января 2010

Вы загружаете цветную тему, используя load-file или require? require не будет загружать файл, функция которого уже была предоставлена, используйте load-file, только если вы хотите явно переопределить это. Другая возможность заключается в том, что color-theme-example и color-theme-library не используют provide, поэтому каждый раз, когда их запрашивают с require, они загружаются снова - но это должно вывести ошибку («обязательная функция») color-theme-example (не предоставлен загруженным файлом "или чем-то подобным).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...