2011-09-06 15 views
12

En lugar de especificando individualmente cada subdirectorio en mi directorio de plugins Quiero ser capaz de cargar automáticamente, para ello he incluido lo siguiente a mi archivo .emacs:subdirectorios Agregando Load Path

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

require 'rinari 
require 'yasnippet 

Por desgracia, la anterior resultados en: File error: Cannot open load file, rinari

¿Alguien sabe qué pasa y cómo solucionarlo?

Respuesta

12

Estás tan cerca ...

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

normal-top-level-add-subdirs-to-load-path funciona con el directorio actual, que se puede establecer a través de la variable default-directory - no base que ha intentado.

+0

Gracias, yo no sabía 'default-directory' era una variable especial. – sjac

2

Puede investigar la función de los archivos subdirs.el durante el inicio. Es una buena manera de obtener subdirectorios en su load-path.

Por ejemplo, gran parte de la carga-ruta predeterminada surge como consecuencia de los archivos descubiertos por este comando:
find /usr -name subdirs.el

+0

¡Ah, bien! Sí, consulte 'Ch ig (elisp) Resumen de inicio' y' Ch f normal-top-level-add-subdirs-to-load-path' y y 'Ch f normal-top-level-add-to-load-path ', y observe el uso de aquellos en los archivos' subdirs.el' existentes. – phils