2010-01-18 2 views
1

Bon, je suis novice dans la modification de mes fichiers .el. Tout ce que je veux faire est quelque chose comme: (setq fenêtres-chemin "c:/Documents and Settings/cthiel/projets/windows_setup/emacs /")Utilisation de la valeur d'une variable pour définir mon chemin de chargement

Et puis virer de bord sur les sous-répertoires dans le répertoire emacs sur la charge chemin. Quelque chose comme le (la façon dont il est fait en rubis): (add-to-list « load-path "# {windows-path}/externe")

Répondre

1
(setq windows-path "c:/Documents and Settings/cthiel/projects/windows_setup/emacs/" 
(add-to-list 'load-path (concat windows-path "external")) 

Est-ce à atteindre votre objectif?

Documentation:

concat est une fonction intégrée dans `fns.c.

(concat & séquences de repos)

Concaténer tous les arguments et les faire le résultat d'une chaîne. Le résultat est une chaîne dont les éléments sont les éléments de tous les arguments. Chaque argument peut être une chaîne ou une liste ou un vecteur de caractères (entiers).

exemple:

(concat "The answer to life, " "the universe " "and everything " "is " "42") 
    => "The answer to life, the universe and everything is 42" 
+0

a fait l'affaire très bien, merci! Savait que c'était quelque chose de facile, mais je ne savais pas quoi. :} – bergyman

2

Découvrez EmacsWiki:LoadPath pour obtenir des conseils sur les répertoires récursivement ajoutant.

Je pense que vous voulez quelque chose comme:

(setq windows-path "c:/Documents and Settings/cthiel/projects/windows_setup/emacs/") 

(if (fboundp 'normal-top-level-add-subdirs-to-load-path) 
    (let* ((my-lisp-dir windows-path) 
      (default-directory my-lisp-dir)) 
     (setq load-path (cons my-lisp-dir load-path)) 
     (normal-top-level-add-subdirs-to-load-path))) 
Questions connexes