Właśnie zainstalowałem cmake-mode
pakiet w Emacs 24 przy użyciu:
M-x package-install cmake-mode
Widzę paczkę na: ~/.emacs.d/elpa/cmake-mode-20110824
i mogę ją załadować, korzystając z instrukcji w Commentary:
sekcji ~/.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))
Jest to jednak sprzeczne z instrukcją użytkowania na stronie EmacsWiki ELPA:
... pakiety są inicjowane PO załadowaniu pliku init.el. Oznacza to, że NIE należy umieszczać inicjalizacji specyficznej dla pakietu w pliku init.el ...
Zwykle zgadzam się z tą instrukcją, ponieważ dodając do mojego ~/.gnu-emacs
pliku wiersz taki jak:
(add-to-list 'load-path "~/.emacs.d/elpa/cmake-mode-20110824/")
jest brzydka i pęknie, jeśli i kiedy zaktualizuję pakiet. Jednak bez tej linii nie mogę użyć cmake-mode
.
Czy coś mi umyka?
Uwagi:
- Nie zrobiłem nic dziwnego,
package-enable-at-startup
a jego wartość tot
. - Używam preludium .
user-emacs-directory
wartość to"~/.emacs.d/"
(Dzięki @lawlist za sugestię)package-user-dir
wartosc jest"~/.emacs.d/elpa"
elpa
katalogu - tzn. ~/.emacs.d/cmake-mode-20110824/
Nie jest tam, gdzie spodziewa się tego plik autoloads.
~/.emacs.d/elpa/cmake-mode-20110824/
. Problem pozostaje.
default-directory
lubuser-emacs-directory
, tak żeelpa
katalog nie jest ładowany?package-install
tworzyelpa
katalog, a plik autoloads, który jest tworzony podczas instalacji, jest oparty na tej lokalizacji.