Я только что установил cmake-modeпакет в Emacs 24, используя:
M-x package-install cmake-mode
Я вижу пакет по адресу: ~/.emacs.d/elpa/cmake-mode-20110824и могу загрузить его, используя инструкцию в Commentary:разделе ~/.emacs.d/elpa/cmake-mode-20110824/cmake-mode.el:
;; Add this code to your .emacs file to use the mode:
;;
;; (setq load-path (cons (expand-file-name "/dir/with/cmake-mode") load-path))
;; (require 'cmake-mode)
;; (setq auto-mode-alist
;; (append '(("CMakeLists\\.txt\\'" . cmake-mode)
;; ("\\.cmake\\'" . cmake-mode))
;; auto-mode-alist))
Однако это противоречит инструкции по использованию на странице EmacsWiki ELPA:
... пакеты инициализируются ПОСЛЕ загрузки init.el. Это означает, что вы НЕ должны помещать специфичную для пакета инициализацию в свой init.el ...
Я склонен согласиться с этой инструкцией, потому что добавление в мой ~/.gnu-emacsфайл такой строки:
(add-to-list 'load-path "~/.emacs.d/elpa/cmake-mode-20110824/")
уродливо, и сломается, если и когда я буду обновлять пакет. Однако без этой линии я не могу использовать cmake-mode.
Я что-то здесь упускаю?
Примечания:
- Я не сделал ничего странного,
package-enable-at-startupи его ценностьt. - Я использую прелюдию .
user-emacs-directoryзначение"~/.emacs.d/"(спасибо @lawlist за предложение)package-user-dirзначение"~/.emacs.d/elpa"
elpaкаталога, т. Е. ~/.emacs.d/cmake-mode-20110824/Это не тот файл, который ожидает файл автозагрузки.
~/.emacs.d/elpa/cmake-mode-20110824/. Проблема остается.
default-directoryилиuser-emacs-directory, так чтоelpaкаталог не загружается?package-installсоздаетelpaкаталог, и файл автозагрузки, который создается во время установки, основан на этом расположении.