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