2011-09-06 11 views
12

Zamiast indywidualnie specifing każdy podkatalog w moim katalogu plugins Chcę móc automatycznie ładować je w tym celu, że należy zaliczyć do mojego pliku .emacs:Dodawanie podkatalogi do Załaduj Ścieżka

(let ((base "~/.emacs.d/plugins/")) 
     (normal-top-level-add-subdirs-to-load-path)) 

require 'rinari 
require 'yasnippet 

Niestety powyżej wyniki: File error: Cannot open load file, rinari

Ktoś wie, co jest nie tak i jak to naprawić?

Odpowiedz

12

Jesteś tak blisko ...

(let ((default-directory "~/.emacs.d/plugins/")) 
    (normal-top-level-add-subdirs-to-load-path)) 

normal-top-level-add-subdirs-to-load-path pracuje się w bieżącym katalogu, który można ustawić za pomocą zmiennej default-directory - nie base jakbyś spróbował.

+0

Dzięki, nie wiedziałem 'default-spisem była zmienna specjalnego. – sjac

2

Podczas uruchamiania można sprawdzić rolę plików subdirs.el. Jest to dobry sposób na pobranie podkatalogów do twojego load-path.

Na przykład, wiele z domyślnej ścieżce obciążenia powstaje w wyniku plików wykrytych przez to polecenie:
find /usr -name subdirs.el

+0

Ah, miło! Tak, zobacz 'Ch ig (elisp) Startup Summary' oraz' Ch f normal-top-level-add-subdirs-to-load-path' oraz i 'Ch f normal-top-level-add-to-load-path 'i spójrz na użycie tych w istniejących plikach' subdirs.el'. – phils