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