2011-08-31 12 views
8

Tengo un par de archivos de configuración de emacs. Iba a consolidarlos en un archivo común y luego en un par de otros archivos que importan el archivo común. Entonces tienen sus propias funciones. Yo sólo iba a tener a todos ellos como .emacsCommon en mi carpeta de inicio, pero cuando escribo:Importación de archivos en el archivo de configuración de Emacs Lisp/Emacs en el mismo directorio

(require '.emacsCommon) 

no se carga la función. ¿Cuál es la forma correcta de hacer esto?

Saludos

Respuesta

8

Uso 'load-file' para cargar un archivo de EmacsLisp

(load-file "./.emacsCommon")

+0

@ tototoshi-eso hace el truco –

4

Si desea utilizar require, se debe añadir (provide 'foo) al final de un archivo llamado foo.el. Si ese archivo está en el load-path, puede usar (require 'foo) para cargar este archivo y agregar la característica (foo) a la lista de características. (El printname de 'foo, el nombre de la función, se utiliza como nombre de archivo aquí.)

Debido a que su nombre tiene un punto inicial, y no termina en .el, debería darle el nombre de archivo como argumento para requerir sin embargo:

(require 'foo ".foo") 

Nota, que se puede también utilizar solo o loadload-file.

+0

Esta información es en su mayoría superflua si solo quiere 'cargar' el archivo. – tripleee

+0

Bastante justo. Pero puedes usar cosas como 'featurep', los archivos no se cargarán innecesariamente, y me parece un poco más ordenado. – danlei

Cuestiones relacionadas