путь загрузки для добавления в список не работает - PullRequest
9 голосов
/ 02 августа 2011

Всякий раз, когда я вижу какую-то инструкцию по установке для пакета emacs, он всегда предлагает использовать add-to-list 'load-path, он никогда не работает для меня.По какой-то причине и мне приходится использовать load-file.Например, это не будет работать:

(add-to-list 'load-path "~/.emacs.d/jade-mode")
(require 'sws-mode)
(require 'jade-mode)    
(add-to-list 'auto-mode-alist '("\\.styl$" . sws-mode))
(add-to-list 'auto-mode-alist '("\\.jade$" . sws-mode))

, но это будет работать:

(load-file "~/.emacs.d/jade-mode/sws-mode.el")
(load-file "~/.emacs.d/jade-mode/jade-mode.el")
(require 'sws-mode)
(require 'jade-mode)    

Кто-нибудь может сказать мне, почему?РЕДАКТИРОВАТЬ: я использую Carbon Emacs на MAC OS X 10,5

Ответы [ 3 ]

10 голосов
/ 02 августа 2011

Возможно, проблема в том, что начальная тильда ('~') не раскрывается, когда require ищет записи в списке load-path.Попробуйте использовать функцию expand-file-name , чтобы подготовить вашу запись для последующего использования require:

(add-to-list 'load-path (expand-file-name "jademode" "~/.emacs.d"))

или

(add-to-list 'load-path (expand-file-name "~/.emacs.d/jademode"))

.Emacs, который вы используете в какой операционной системе.

1 голос
/ 02 августа 2011

Я не уверен на 100%, но я предполагаю, что список не был создан, и поэтому вы не можете ничего добавить в список путей загрузки, я просто создаю список с помощью

    (setq load-path (cons (expand-file-name "~/.emacs.d/lisp")
              load-path))
0 голосов
/ 24 ноября 2014

Первый ответ не сработал для меня. У меня сработало добавление пути к каталогу, а не отдельных файлов .el, т.е.

(add-to-list 'load-path (expand-file-name "~/.emacs.d"))
...